有符号数处理

编辑
本词条由“匿名用户” 建档。
在计算中,需要带符号的数字表示来对二进制数字系统中的负数进行编码。 在数学中,任何底数中的负数都通过在它们前面加上减号 (-) 来表示。 然而,在 RAM 或 CPU 寄存器中,数字仅表示为位序列,没有额外的符号。 扩展二进制数字系统以表示有符号数的四种最著名的方法是:符号大小、个的补码、二进制的补码和偏移二进制。 一些替代方法使用隐式而不是显式符号,例如负二进制,使用基数 −2。 可以...

有符号数处理

编辑

在计算中,需要带符号的数字表示来对二进制数字系统中的负数进行编码。

在数学中,任何底数中的负数都通过在它们前面加上减号 (-) 来表示。 然而,在 RAM 或 CPU 寄存器中,数字仅表示为位序列,没有额外的符号。 扩展二进制数字系统以表示有符号数的四种最著名的方法是:符号大小、个的补码、二进制的补码和偏移二进制。 一些替代方法使用隐式而不是显式符号,例如负二进制,使用基数 −2。 可以为其他基础设计相应的方法,无论是积极的、消极的、分数的,还是对这些主题的其他阐述。

没有明确的标准可以证明任何一种表现形式普遍优越。 对于整数,大多数当前计算设备中使用的表示是二进制补码,尽管 Unisys ClearPath Dorado 系列大型机使用二进制补码。

历史

编辑

数字计算的早期以关于硬件技术和数学技术(编号系统)的相互竞争的思想为标志。 最激烈的争论之一是负数的格式,那个时代的一些xxx专家表达了非常强烈和不同的意见。 一个阵营支持两个补码,即今天占主导地位的系统。 另一个阵营支持补码,其中负值是通过将所有位反转为正等值而形成的。 第三组支持符号幅度,其中只需切换单词的最高位即可将值从正值更改为负值。

每个系统都有支持和反对的论据。 由于小数值使用较少的 1 位,因此符号幅度允许更轻松地跟踪内存转储(1960 年代的常见过程)。 这些系统在内部进行了补码运算,因此当数字从寄存器传输到数学单元时,必须将数字转换为补码值,然后在将结果传输回计算器时将其转换回符号大小 登记。 电子设备比其他系统需要更多的门——当分立晶体管的成本和封装至关重要时,这是一个关键问题。 IBM 是符号幅度的早期支持者之一,他们的 704、709 和 709x 系列计算机可能是使用它的最著名的系统。

Ones 的补码允许更简单的硬件设计,因为在传递到数学单元和从数学单元传递时不需要转换值。 但它也与符号幅度有一个不受欢迎的特征:表示负零 (-0) 的能力。 负零的行为与正零完全相同:在任何计算中用作操作数时,无论操作数是正零还是负零,结果都相同。 缺点是相同值的两种形式的存在在检查是否与零相等时需要进行两次比较。可以说这会使加法和减法逻辑变得更复杂或更简单,因为减法需要简单地反转第二个操作数的位,因为它被传递给加法器。 PDP-1、CDC 160 系列、CDC 3000 系列、CDC 6000 系列、UNIVAC 1100 系列和 LINC 计算机使用个的补码表示。

二进制补码最容易在硬件中实现,这可能是其广泛流行的最终原因。 早期大型机上的处理器通常由数千个晶体管组成,因此消除大量晶体管可以显着节省成本。 IBM System/360、GE-600 系列、PDP-6 和 PDP-10 等大型机使用二进制补码,PDP-5 和 PDP-8 以及 PDP-11 和 PDP-11 等小型机也是如此 VAX 机器。 早期基于集成电路的 CPU(Intel 8080 等)的设计者也选择使用二进制补码数学。 随着 IC 技术的进步,几乎所有的处理器都采用了二进制补码技术,包括 x86、m68k、Power ISA、MIPS、SPARC、ARM、Itanium、PA-RISC 和 DEC Alpha。

有符号数处理

符号-幅度

编辑

在符号-量值表示中,也称为符号和量值或带符号的量值,带符号的数字由与符号位的数字符号相对应的位模式表示(通常是最高有效位,对于 a 设置为 0 正数,负数为 1),以及剩余位的数量(或xxx值)的大小。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/195938/

(1)
词条目录
  1. 有符号数处理
  2. 历史
  3. 符号-幅度

轻触这里

关闭目录

目录