前言:在计算机中对数据进行运算操作时,符号位如何表示呢?是否也同数值位一道参加运算操作呢?如参加,会给运算操作带来仆么影响呢?为了妥善地处理好这些问题,就产生了把符号位和数值位一起编码来表示相应的数的各种表示方法,如原码、补码、反码、移码。为了区别一般书写表示的数和机器中这些编码表示的数,通常将前者称为真值,后者称为机器数或机器码。
原码特点:
1.表示简单,易于同真值之间进行转换,实现乘除运
算规则简单。
2.进行加减运算十分麻烦。
定义:正数的补码就是正数的本身,负数的补码
是原负数加上模。
计算机运算受字长限制,属于有模运算.
补码的意义:
1、解决了符号的表示问题。
2、利用电子器件的特点,实现补码和真值、原
码之间的相互转换,容易实现。
3、补码表示统一了符号位和数值位,使得符号
位和数值位一起直接参与运算,为乘除运算利用
硬件实现提供了基础,降低实现的硬件代价。
例2:x=-1011111原码为11011111补码为10100001反码为10100000移码为00100001
特点:移码和补码尾数相同,符号位相反
范围:-2n~2n-1
浮点IEEE754表示e=-127~+128
00000000阶码表示数字”0”,尾数的隐含位为0
11111111阶码表示数字”无穷大”,尾数的隐含位为0
总结
1、正数的原码,补码,反码相同。
2、负数的反码:原码的数值取反。
3、负数的补码:原码转换成反码,反码末位+1
4、移码:与补码的符号位相反。