提问人:Askaga 提问时间:6/14/2019 最后编辑:Guy CoderAskaga 更新时间:6/14/2019 访问量:106
术语“无符号整数”从何而来?
Where does the term "unsigned integer" come from?
问:
我遇到的许多编程语言都包含多种整数类型,包括“有符号”和“无符号整数”之间的区别。
在我进入编程之前,我从未听说过“无符号整数”这个词,对我来说,无符号整数似乎等同于数学中的自然数(又名 N0)。
那么,为什么我们要用“无符号整数”这个术语来代替,而不是仅仅使用“自然”这个术语呢?它是从哪里来的?这个词背后是否有正当的理由,或者它只是历史的又一次偶然?
答:
-3赞
deceze
6/14/2019
#1
在有符号整数中,第一位是表示数字是正数还是负数的符号。这自然会形成一个无符号整数,该整数缺少所述符号,无法区分正值和负值。“自然数”将具有相当大的误导性,因为一个(非常)有限的整数不可能在接近完整自然数集的任何地方表示。
评论
0赞
Askaga
6/14/2019
AFAIK 大多数计算机系统仅对浮点数使用符号位,而整数使用 2 的补码,允许在有符号和无符号整数之间共享许多指令。此外,您关于有限整数无法表示无限自然数集的评论是没有意义的——毕竟两个(数学)集合——自然数和整数——都是无限的,因此不能用有限的计算机内存表达。因此,如果“自然”会误导,那么“整数”也会误导。所以这根本没有真正回答这个问题。
0赞
vlad_tepesch
6/24/2019
几乎没有处理器使用一补码来表示有符号整数
评论