上QQ阅读APP看书,第一时间看更新
1.4.1 计算机中数的表示
计算机中的信息都是用二进制数表示的,在二进制中进行数的编码时,将数分为定点数和浮点数。在计算过程中小数点位置固定的数叫定点数,小数点位置浮动的数叫浮点数。
定点数常用的编码方案有原码、反码、补码、移码4种。
●原码:原码的编码原则是,正数符号位为0,数据部分照抄;负数符号位为1,数据部分照抄。0既可以看成正数,也可以看成负数。
●反码:反码的编码原则是,正数符号位为0,数据部分照抄;负数符号位为1,数据部分求反(0变1,1变0)。0既可以看成正数,也可以看成负数。反码有两个特点,一是0有两种表示方法;二是在进行反码加法运算时,符号位可以作为数值参与运算,但运算后,某些情况下需要调整符号位。
●补码:补码的编码原则是,正数符号位为0,数据部分照抄;负数符号位为1,数据部分求反(0变1,1变0),再在最后一位上加1。
●移码:不管是什么数,都统一加上一个数(称偏移值),通常n位的移码,偏移值为2n-1-1。用移码表示浮点数的阶码时,方便了浮点数中指数的比较,简化了浮点运算部件的设计。
一个浮点数用两个定点数表示。计算机中的浮点数普遍采用IEEE 754标准,该标准定义了两种基本类型的浮点数:单精度浮点数(简称单精度数)和双精度浮点数(简称双精度数)。双精度数所表示的数的范围要比单精度数大,其精度(有效位数)比单精度数高,但所占用的存储空间是单精度数的2倍。
单精度数和双精度数的阶码采用移码表示,尾数采用原码表示。单精度数共32位,包括1位符号位、8位阶码、23位尾数。双精度数共64位,包括1位符号位、11位阶码、52位尾数。