原码:符号位(一般是最高位)用0表示正数,1表示负数。其值就是二进制的真实值。 (正的不变)
如:+5转化为二进制原码: 0000 0101
-5转化为二进制原码: 1000 0101
反码:
正数的反码和其原码是一样的。负数的反码其数值位按位求反
如:+5转化为二进制反码: 0000 0101
-5转化为二进制反码: 1111 1010
补码:
正数的补码和原码也是一样的。负数的补码其数值位在其反码的基础上末位加1(求补)
如:+5转化为二进制补码: 0000 0101
-5转化为二进制补码: 1111 1011
移码:
移码比较特别,符号位0表示负数,1表示正数。其数值位和补码一样。即求出补码,再把符号位求反
如:+5转化为二进制移码: 1000 0101
求解过程:
一:+5的原码: 0 000 0101
符号位 数值位
二:求补码 0 000 0101
三: 数值位不变,符号位取反: 1 000 0101
-5转化为二进制移码: 0111 1011
一:原码 1 000 0101
二:反码 符号位不变,数值位按位求反 1 111 1010
三:补码 数值位在其反码的末位加1 1 111 1011 (111 1010)反+000 0001=111 1011
四:数值位不变,符号位取反: 0 111 1011
如:+5转化为二进制原码: 0000 0101
-5转化为二进制原码: 1000 0101
反码:
正数的反码和其原码是一样的。负数的反码其数值位按位求反
如:+5转化为二进制反码: 0000 0101
-5转化为二进制反码: 1111 1010
补码:
正数的补码和原码也是一样的。负数的补码其数值位在其反码的基础上末位加1(求补)
如:+5转化为二进制补码: 0000 0101
-5转化为二进制补码: 1111 1011
移码:
移码比较特别,符号位0表示负数,1表示正数。其数值位和补码一样。即求出补码,再把符号位求反
如:+5转化为二进制移码: 1000 0101
求解过程:
一:+5的原码: 0 000 0101
符号位 数值位
二:求补码 0 000 0101
三: 数值位不变,符号位取反: 1 000 0101
-5转化为二进制移码: 0111 1011
一:原码 1 000 0101
二:反码 符号位不变,数值位按位求反 1 111 1010
三:补码 数值位在其反码的末位加1 1 111 1011 (111 1010)反+000 0001=111 1011
四:数值位不变,符号位取反: 0 111 1011