主要内容

定点数据类型

在数字硬件中,数字是以二进制字存储的。二进制字是由位(1和0)组成的固定长度序列。硬件组件或软件功能如何解释这个1和0的序列是由数据类型定义的。二进制数可以表示为定点或浮点数据类型。

定点数据类型的特征是以位为单位的字长、二进制点的位置以及它是有符号的还是无符号的。二进制点的位置是对定点值进行缩放和解释的方法。

例如,一个广义定点数(有符号或无符号)的二进制表示如下所示:

在哪里

  • bth二进制数字。

  • 是以位为单位的字长。

  • bwl-1是最高有效位或最高位(MSB)的位置。

  • b0是最低有效位(LSB)的位置。

  • 二进制点显示在LSB左边4个位置。在这个例子中,这个数字有四个小数位,或者说是一个小数长度为4。

定点数据类型可以是有符号的,也可以是无符号的。一个定点值是有符号的还是无符号的,通常不会在二进制中显式编码;也就是说,没有符号位。相反,符号信息是在计算机体系结构中隐式定义的。

有符号二进制定点数通常在计算机硬件中以三种方式之一表示:

  • 符号/大小-一个二进制字的一位总是专用的符号位,而字的其余位编码数字的大小。使用符号/幅度表示的反包括将符号位从0(正)翻转到1(负),或从1翻转到0。

  • 1的补码-在1的补码中对二进制数求反需要一个按位补码。也就是说,所有的0都被翻转为1所有的1都被翻转为0。在补数表示法中有两种表示零的方法。一个全是0的二进制字代表“正”零,而全是1的二进制字代表“负”零。

  • 二的补码-使用带符号的二的补码表示的否定包括一个位的倒转(转换为一的补码),然后是一个一的二进制加法。例如,000101的两个补码是111011。

2的补码是带符号的定点数字最常见的表示形式,也是定点设计器™文档使用的唯一表示形式。