是否有一个签名值的技术术语,其中只设置了最高位?

问题描述 投票:0回答:2

在二进制补码表示法中,总有一个奇数输出值来补偿0 /原点值,概念上既不是正数也不是负数。为了实用主义,我们将0视为正数,并且我们将其对应物(最高位为1,其余为0)视为负值,但从概念上讲,它们都是没有符号的特殊值,因为两者都是例如,-v == v。

例如,在带符号的32位值中,此数字可能以下列其中一种形式表示:

0b10000000000000000000000000000000
0x80000000
-2147483648

我个人一直在使用我自己的术语来表达这个奇怪的价值一段时间,我将在下面作为我自己的答案分享,让你们都决定它是否值得,但如果已经有一个公认的名字,我也不会感到惊讶它。

我把剩下的留给你了......


编辑:在进一步的研究中,我确实发现一些网站声称“它有时被称为奇怪的数字”,但这些简介一直是从维基百科条目中逐字复制的两个补码表示法,它本身只引用2006年大学研究论文不可用在给定的位置,但我找到了here,它只是在传递中提到的。维基百科也引用了一本书,但该书的用法似乎是基于维基百科条目的文本,该文章在本书编写之前就已存在。我不相信除了一位东京大学的学生以外的任何人在实践中都把它称为“奇怪的数字”。

binary terminology notation twos-complement
2个回答
0
投票

根据具体情况,我可能会将其称为死亡值,或者,如果我感觉像拟人化,我称之为死亡。我认为那个孤独的头衔是各种各样的镰刀。

我称之为有两个原因:

  1. 在作为二进制补码表示法的环上,它的对应部分为0,我们通常将其称为原点。起源的一个反义词是死亡。
  2. 这个特殊的值,虽然模糊不清,但往往会让很多程序员感到困惑。它实际上是很多毫无防备的算法的死亡。

在编写简洁程序集时,我倾向于将其缩写为“D”,例如,如果我的条件满足所有大于零的值,而死亡,我可能称之为“GZD”。


0
投票

我简单地称之为最小整数或最小值,因为这确实是二进制补码。

它也在C标准limits.h(和C ++等价物)标题中描述,例如SCHAR_MININT_MINLONG_MIN等。

© www.soinside.com 2019 - 2024. All rights reserved.