我们可以将负面二进制解释为正面吗(请阅读问题)?

Posted

技术标签:

【中文标题】我们可以将负面二进制解释为正面吗(请阅读问题)?【英文标题】:can we interpret negative binary as positive too(read the question please)? 【发布时间】:2020-02-27 19:59:09 【问题描述】:

我已经知道二进制负数的概念,最高位的0代表二进制为正,最高位的1代表二进制为负。

但让我害怕提出关于 *** 的问题的问题是: 我们可能想要表示一个巨大的数字的时间,它的表示发生在 msb 中有 1。

让我这样解释一下:通过考虑上述生成二进制数的负数的规则,我们可以说 ; 在 8 位系统中,例如,正 12(十进制)的值将被写为二进制 00001100,但负 12(十进制)将被写为 10001100 但让我有点困惑的是,10001100 也可以解释为十进制的 268,而我们知道使用这种转换方法,它是二进制 12 的负数形式。

我只是想知道如何处理这种棘手的、双面可能的解释二进制数的方法,就像我上面给出的示例一样(它似乎是否定的,哦!但是等等它也可能不是:)。

【问题讨论】:

【参考方案1】:

这取决于您使用的类型。如果您使用的是带符号的 8 位表示,那么您可以存储的最大数字是 1111111(即第一位被留出)。

在我们的示例中,这将转换为整数值 127。

如果您使用无符号类型,那么您有额外的可用位,允许您存储 11111111,或表示为整数的 255。

具有良好编译器的强类型语言应该会发现你试图将 134 分配给一个有符号的 8 位整数并在你身上吐出错误。

如果你自己在做一些奇怪的事情,那就是你自己!没有办法重建,事后,无论它是打算成为一个消极的还是一个大的积极的,所以你必须选择一个系统并坚持下去。

现在的一般惯例是始终坚持使用有符号表示 - 尽管我已经看到代码(通常用于天体物理计算等极端计算任务)只是为了节省内存而使用无符号值。当然,按照惯例,图像通常会使用无符号值。

【讨论】:

问题是,我自己知道 msb 是我的符号,它是一个负二进制,但是当我使用在线转换器转换它时,它似乎有点棘手,那么计算机如何理解这是一个负二进制,因为我尝试过一个网站来转换它,它没有识别出这是一个负二进制并将 10001100 转换为 268 您需要选择一个在线转换器,它允许您告诉它类型是否已签名。还有一个是正确的,因为即使作为无符号值,它也应该是 140!此转换器理解有符号数字:binary-system.base-conversion.ro/… python呢,它是怎么处理的? @moh88 如果您可以编辑您的问题以更清楚地了解您所拥有的以及您最终想要实现的目标,这可能会有所帮助?这将节省很多 cmets 乒乓球 下面是python处理类型转换的方式。 datacamp.com/community/tutorials/python-data-type-conversion如果您想要更有针对性的帮助,也许可以提出一个问题,其中包含您拥有的数据示例,并指定您需要用它做什么:)

以上是关于我们可以将负面二进制解释为正面吗(请阅读问题)?的主要内容,如果未能解决你的问题,请参考以下文章

对话框不显示正面和负面按钮

论文泛读140关于负面评论中的积极偏见

万年历电子钟纽扣电池安装时分方向吗?

具有正面或负面属性的 iOS UIButtons

无监督情绪分析

你能装饰一个十六进制常量,让它被解释为一个浮点数吗?