术语“无符号整数”从何而来?

Where does the term "unsigned integer" come from?

提问人:Askaga 提问时间:6/14/2019 最后编辑:Guy CoderAskaga 更新时间:6/14/2019 访问量:106

问:

我遇到的许多编程语言都包含多种整数类型,包括“有符号”和“无符号整数”之间的区别。

在我进入编程之前,我从未听说过“无符号整数”这个词,对我来说,无符号整数似乎等同于数学中的自然数(又名 N0)。

那么,为什么我们要用“无符号整数”这个术语来代替,而不是仅仅使用“自然”这个术语呢?它是从哪里来的?这个词背后是否有正当的理由,或者它只是历史的又一次偶然?

与语言无关的 术语

评论

1赞 Guy Coder 6/15/2019
感兴趣的: 签名数字历史维基百科
0赞 Guy Coder 6/15/2019
我会回答这个问题,但我给出的链接确实给出了答案,并且不允许只链接答案。此外,应对另一部作品的很大一部分而不增加它,仅仅为了在这里获得分数是没有价值的。
0赞 Alexei Kaigorodov 6/18/2019
naturals 不包括零,但无符号整数包含。然后,数学家将自然数视为无穷集合。
0赞 Askaga 6/19/2019
@AlexeiKaigorodov:你说的不是真的:自然数的一些定义包括0,有些则没有。我的问题清楚地表明,我指的是包括 0 的定义。数学家也认为整数是无限集合,而不仅仅是自然数。所以不清楚你想说什么。

答:

-3赞 deceze 6/14/2019 #1

符号整数中,第一位是表示数字是正数还是负数的符号。这自然会形成一个符号整数,该整数缺少所述符号,无法区分正值和负值。“自然数”将具有相当大的误导性,因为一个(非常)有限的整数不可能在接近完整自然数集的任何地方表示。

评论

0赞 Askaga 6/14/2019
AFAIK 大多数计算机系统仅对浮点数使用符号位,而整数使用 2 的补码,允许在有符号和无符号整数之间共享许多指令。此外,您关于有限整数无法表示无限自然数集的评论是没有意义的——毕竟两个(数学)集合——自然数和整数——都是无限的,因此不能用有限的计算机内存表达。因此,如果“自然”会误导,那么“整数”也会误导。所以这根本没有真正回答这个问题。
0赞 vlad_tepesch 6/24/2019
几乎没有处理器使用一补码来表示有符号整数