主要内容

定点数据类型

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

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

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

在哪里

  • bth二进制数字。

  • 是以位为单位的字长度。

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

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

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

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

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

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

  • 补数——在补数中对二进制数进行否定需要位补。也就是说,所有的0都翻转为1所有的1都翻转为0。在补符号中有两种表示零的方法。一个全为0的二进制词表示“正的”零,而一个全为1的二进制词表示“负的”零。

  • 2的补码——使用有符号2的补码表示的否定包含位反转(转换为1的补码),然后是1的二进制加法。例如,000101的两个补数是111011。

Two的补充是带符号定点数的最常见表示,也是定点设计器文档使用的唯一表示。

Baidu
map