主要内容

定点数据类型

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

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

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

在哪里

  • bth二进制数字。

  • 是以位为单位的字长。

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

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

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

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

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

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

  • 在一个二进制数的补码中求反需要一个位补。也就是说,所有的0都变成了1,所有的1都变成了0。在一个补数表示法中有两种表示零的方法。一个全部为0的二进制字表示“正”零,而一个全部为1的二进制字表示“负”零。

  • 二的补码——使用带符号二的补码表示的否定由位反(转换为一的补码)后跟一个一的二进制加法组成。例如,000101的二进制补码是111011。

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