奎克的藏经阁 · 原书印刷页

编码 隐匿在计算机软硬件背后的语言 · 第 370 页

PDF 物理页索引 386 · 编码隐匿在计算机软硬件背后的语言

书名
编码 隐匿在计算机软硬件背后的语言
作者
未记录
印刷页
370
PDF 物理页
386(从 0 开始)
章节
编码隐匿在计算机软硬件背后的语言
UUID
38270854-596f-4a26-8183-db8c968c6020
来源类型
original_book
页面 SHA-256
db8fa0f46e1ed7edcb28a2781cd1badfdff84f9ab8b76b188a9b65983be5de45

节来实现,其中5个字节用来表示10个数字,另一个字节整个用来做符号位。

这种基于二进制的存储和标记方式也被称作定点格式(fixed-point format),所谓的“定点”是指小数点的位置总是在数的某个特定位置在本例中,它位于两位小数之前。值得注意的是,有关小数点位置的计数信息并没有与整个数字一起存储。所以,使用定点小数的程序必须知道小数点的位置。你可以设计有任意小数位的定点小数,并且可以在程序中混合使用它们,但程序中对这些数进行算术运算的部分都需要知道小数点的位置,这样才能正确地对其做各种运算处理。

如果可以确定程序用到的数字不会大到超过预定的存储空间,并且这些数的小数位不会很多,那么使用定点格式的小数将是一个很好的选择。在表示非常大或非常小的数时,使用定点格式数是绝对不合适的。假设需要保留一块内存空间用来存放以英尺为单位的距离数据,可能存在的问题是某些距离的长度可能超出范围。地球与太阳之间的距离是490,000,000,000英尺,而氢原子的半径只有0.000,000,000,26英尺,如果采用定点格式的存储方案,为了存储这些极大或极小的数需要12个字节。

科学家和工程师们喜欢使用一种称为“科学计数法”(scientificnotation)的方法来记录这类较大或较小的数,利用这种计数系统可以更好地在计算机中存储这些数。科学计数法把每个数表示成有效位与10的幂的乘积的形式,这样就可以避免写一长串的0,因此这种计数方式特别适合表示极大或极小的数。采用科学计数法,下面这个数:

490,000,000,000

可以记为:

$$
4 . 9 \times 1 0 ^ { 1 1 }
$$

而

0.00000000026

可以表示为:

$$
2 . 6 \times 1 0 ^ { - 1 0 }
$$

在上面的两个例子中,4.9和2.6被称做小数部分或者首数(characteristic),有时候

编码—隐匿在计算机软硬件背后的语言

370