【问题标题】:Where does the term "unsigned integer" come from?“无符号整数”一词从何而来?
【发布时间】:2019-10-28 21:29:59
【问题描述】:

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

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

那么为什么我们要编造术语“无符号整数”而不是仅仅使用术语“自然”呢?它从哪里来的?该术语背后是否有合理的理由,还是只是另一个历史事故?

【问题讨论】:

  • 感兴趣的:签名号码历史Wikipedia
  • 我会回答这个问题,但我提供的链接确实给出了答案,并且不允许仅链接答案。还要应付另一项工作的很大一部分而不增加它,仅仅在这里获得积分是没有价值的。
  • naturals 不包含零,但无符号整数包含。然后,数学家将自然数视为无限集。
  • @AlexeiKaigorodov:你说的不是真的:自然数的一些定义包括 0,而另一些则不包括。我的问题很清楚,我指的是包含 0 的定义。数学家还认为整数是无限集,而不仅仅是自然数。所以不清楚你想说什么。

标签: language-agnostic terminology


【解决方案1】:

有符号整数中,第一位是符号,表示该数是正数还是负数。这自然会产生一个 unsigned 整数,它缺少上述 sign 并且无法区分正值和负值。 “自然数”会产生误导,因为(非常)有限的整数不可能表示接近完整的自然数集。

【讨论】:

  • AFAIK 大多数计算机系统仅对浮点数使用符号位,而整数使用二进制补码,这允许在有符号和无符号整数之间共享许多指令。此外,您关于有限整数无法表示无限自然数集的评论毫无意义 - 毕竟(数学)集合 - 自然数和整数 - 都是无限的,因此无法用有限的计算机内存表示。因此,如果“自然”会产生误导,那么“整数”也会产生误导。所以这根本不能真正回答这个问题。
  • 几乎没有处理器使用补码来表示有符号整数
猜你喜欢
  • 2015-01-12
  • 2015-08-13
  • 2010-11-10
  • 2011-01-27
  • 1970-01-01
  • 2010-09-19
  • 2013-10-02
  • 1970-01-01
  • 2011-02-14
相关资源
最近更新 更多