正在加载图片...
第3章定点数和浮点数245 下载 没有中间值。由于这一特性,数字计算机必须处理离散值。可以表示的离散值的个数直接与 可达到的二进制位数相关。例如:如果用32位来存放正整数,则可以存放0~4294967295个 整数。如果需要存放45这个数,则必须重新考虑一种方法并做一些改动。 小数可以表示成二进制吗?是的,可以。最容易的方法可能是二进制编码的十进制 (BCD)。前面第19章讲到BCD是十进制数的二进制编码,每一个十进制数字(0、1、2、3 4、5、6、7、8和9)需要4位,如下表所示: 十进制数字 进制数字 0000 0010 0110 0l11 BCD码特别适用于用美元和美分表示的与钱数有关的计算机程序。银行和保险公司是两 个典型的多与钱打交道的行业,对这类公司的计算机程序来说,许多分数只需要两个十进制 数位 通常1个字节存储两个BCD数字,有时将这称为压缩BCD码。2的补码不与BCD一起使用 因此,压缩BCD码通常要有额外的一位(称作符号位)来标明是正数还是负数。一个BCD数存 入整个字节比较方便,所以,小小的符号位通常需要牺牲4位或8位的存储空间。 来看一个例子。假定计算机要处理的钱数不会超过正、负1000万,换句话说,需要表示 的钱数的范围从一999999999~999999999,则存储在内存的每一笔钱数需要用5个字节来 表示。例如,-4325120.35用5个字节表示为 0001010000110010010100010010000000100101 或用十六进制表示为 14h32h5lh20h25h 注意最左边的1用来表示负数,即符号位。如果是正数,则该位为0。每一个数字需要4位, 从十六进制值中可以直接看到。 如果需要表示的数的范围从一9999999999~9999999999,则需要6个字节—10个数 字占5个字节,另一个字节仅用来表示符号位 这类存储和标记方法也称作定点格式,因为小数点通常固定在特定的位置一本例中,小 数点在两个小数位之前。注意,实际上并没有什么东西与数一起存放用来标明小数点的位置。 处理定点格式数的程序应该知道小数点在哪里。定点数可以有任意个小数位数,在同一计算 机程序里可以混用这些数字,但是对这些数进行算术运算的那部分程序必须知道小数点的位 定点格式只在知道这些数不会超过预先确定的内存单元,且没有太多小数位的场合比较适 用。在数可能很大或可能很小的场合定点格式完全不适用。假设保留一个内存区域用来存储以 英尺为单位的距离,则存在的问题是距离可能超出范围。从地球到太阳的距离是49000000000第23章 定点数和浮点数 245 下载 没有中间值。由于这一特性,数字计算机必须处理离散值。可以表示的离散值的个数直接与 可达到的二进制位数相关。例如:如果用 3 2位来存放正整数,则可以存放 0~4 294 967 295个 整数。如果需要存放4 . 5这个数,则必须重新考虑一种方法并做一些改动。 小数可以表示成二进制吗?是的,可以。最容易的方法可能是二进制编码的十进制 (B C D)。前面第1 9章讲到B C D是十进制数的二进制编码,每一个十进制数字( 0、1、2、3、 4、5、6、7、8和9)需要4位,如下表所示: 十进制数字 二进制数字 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 11 4 0 1 0 0 5 0 1 0 1 6 0 11 0 7 0 111 8 1 0 0 0 9 1 0 0 1 B C D码特别适用于用美元和美分表示的与钱数有关的计算机程序。银行和保险公司是两 个典型的多与钱打交道的行业,对这类公司的计算机程序来说,许多分数只需要两个十进制 数位。 通常1个字节存储两个B C D数字,有时将这称为压缩B C D码。2的补码不与B C D一起使用, 因此,压缩 B C D码通常要有额外的一位 (称作符号位)来标明是正数还是负数。一个 B C D数存 入整个字节比较方便,所以,小小的符号位通常需要牺牲 4位或8位的存储空间。 来看一个例子。假定计算机要处理的钱数不会超过正、负 1 0 0 0万,换句话说,需要表示 的钱数的范围从-9 999 999.99~9 999 999.99,则存储在内存的每一笔钱数需要用 5个字节来 表示。例如,-4 325 120.35用5个字节表示为: 00010100 00110010 01010001 00100000 00100101 或用十六进制表示为: 14h 32h 51h 20h 25h 注意最左边的1用来表示负数,即符号位。如果是正数,则该位为 0。每一个数字需要4位, 从十六进制值中可以直接看到。 如果需要表示的数的范围从- 99 999 999.99~99 999 999.99,则需要6个字节—1 0个数 字占5个字节,另一个字节仅用来表示符号位。 这类存储和标记方法也称作定点格式,因为小数点通常固定在特定的位置—本例中,小 数点在两个小数位之前。注意,实际上并没有什么东西与数一起存放用来标明小数点的位置。 处理定点格式数的程序应该知道小数点在哪里。定点数可以有任意个小数位数,在同一计算 机程序里可以混用这些数字,但是对这些数进行算术运算的那部分程序必须知道小数点的位 置。 定点格式只在知道这些数不会超过预先确定的内存单元,且没有太多小数位的场合比较适 用。在数可能很大或可能很小的场合定点格式完全不适用。假设保留一个内存区域用来存储以 英尺为单位的距离,则存在的问题是距离可能超出范围。从地球到太阳的距离是490 000 0 0 0 0 0 0
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有