一、机器数和码制
各种数据在计算机中的表示形式称为机器数,其特点是采用二进制计数制,数的符号用0、1表示,小数点则隐含表示而不占位置。真值是机器数所代表的实际数值。
机器数有无符号数和带符号数两种。无符号数表示正数,没有符号位。对无符号数,若约定小数点的位置在机器数的*低位之后,则是纯整数;若约定小数点位置在*高位之前,则是纯小数。带符号数的*高位是符号位,其余位表示数值,同样,若约定小数点的位置在机器数的*低位之后,则是纯整数;若约定小数点位置在*高数值位之前(符号位之后),则是纯小数。
为方便运算,带符号的机器数可采用原码、反码和补码等不同的编码方法,这些编码方法称为码制。
1.原码表示法
数值原码记为冈原,*高位为符号位,表示该数的符号,“0”表示正数,“1”表示负数,而数值部分仍保留着其真值的特征。
2.反码表示法
反码的符号的表示法与原码相同。正数的反码与正数的原码形式相同;负数的反码符号位仍为1,数值部分通过将负数原码的数值部分各位取反(0变1,1变0)得到。
3.补码表示法
正数的补码与原码相同。负数的补码是反码末位+l(丢弃*高位向上的进位),它是*适合进行数字加减运算的数字编码。
二、定点数与浮点数
1.定点数
定点数是小数点的位置固定不变的数。通常采用两种简单的约定:将小数点的位置固定在数据的*高位之前,或者固定在*低位之后。前者为定点小数,后者为定点整数。当数据小于定点数能表示的*小值时,计算机将它们作0处理,称为“下溢”;大于定点数能表示的*大值时,称为“上溢”,统称为“溢出”。
……