随笔-9  评论-168  文章-266  trackbacks-0

(1)正数

原码和反码,补码都是一样的,都是正数本身。


(2)负数

原码是符号位为1,数值部分取x绝对值的二进制。
反码是符号位为1,其它位是原码取反。
补码是符号位为1,其它位是原码取反,未位加1。也就是说,负数的补码是其反码未位加1。

正负0都为0 000.

(3) 移码

就是将符号位取反的补码.无论正数和负数,0除外,0的补码和移码相同.

也可以理解成:不算符号位外,最高数据位的进位.最高数据位为0,符号位为0;为1,符号位为1.

例:

原码 反码 补码 移码

0 0 000 0 000 0 000 1 000

-0 1 000 1 111 0 000 0 000

1011 原码:01011 反码:01011 //正数时,反码=原码 补码:01011 //正数时,补码=原码 移码:11011 //原数 10000 -1011 原码:11011 反码:10100 //负数时,反码为原码取反 补码:10101 //负数时,补码为原码取反+1 移码:00101 //原数 10000 0.1101 原码:0.1101 反码:0.1101 //正数时,反码=原码 补码:0.1101 //正数时,补码=原码 移码:1.1101 //原数 1 -0.1101 原码:1.1101 反码:1.0010 //负数时,反码为原码取反 补码:1.0011 //负数时,补码为原码取反+1 移码:0.0010 //原数 1


评论:
# re: 软件设计师重点难点---原码,反码,补码,移码计算方式 2012-03-13 01:50 |
看不明白,呵呵  回复  
  
网站地图