1.4.1 数值型数据在计算机中的表示

1. 整数在计算机中的表示

对于不超过一定范围的整数,计算机系统直接把他们化成二进制数存储在计算机内存中。例如,在C语言中,规定整型量的范围为-32768~32767,也就是说对范围在-32768~32767内的所有整数都直接化成其二进制形式,按16位二进制数存储。

例如数值127,其存储形式为:00000000 01111111。

2. 小数和比较大的数在计算机中的表示

对于比较大的数据或小数,则采用一种称为浮点数的表示技术。其基本思路是把一个数表示为X*2Y的形式。其中Y叫阶码,X被称为尾数。然后把尾数和阶码按一定规则组织起来在计算机内部表示这个数据。

例如:十进制数3.625化成二进制是11.1010,也可以理解为(0.00111010B)*2 (100B),如果系统规定两个字节表示一个浮点数,阶码和尾数各占8个bit,则结果为:

0011101000000100

前边一段8bit为尾数部分,尾数部分为纯小数,省略了小数点和整数部分的0。后边一段8bit为阶码部分。

由于使用了阶码,使用不太多的二进制位数就可以表示很大的数据。在某些特殊领域,可能要求很高的计算精度和巨大型的数据,就要为尾数和阶码规定较多的比特数。例如计算机程序设计中的双精度数据。

上一小节 下一小节