首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

原码,补码,反码的基本概念

原码,补码,反码的基本概念

原码
原码表示法是机器数的一种简单的表示法。其符号位用0表示正号,用1表示负号,数值一般用二进制形式表示
例如:
0 0 0 0 1 0 1 0    +10
1 0 0 0 1 0 1 0    -10
在浮点数中有原码的表示
补码
机器数的补码可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;
如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的。
例如:
0 0 0 0 1 0 1 0    +10
1 1 1 1 0 1 1 0    -10
-1*2^7 + 1*2^6 + 1*2^5 + 1*2^4+ 1*2^2 + 1*2^1 = -10
最高有效位的权是-(2^w-1)
现代的大部分机器都是基于补码的。
反码
机器数的反码可由原码得到。如果机器数是正数,则该机器数的反码与原码一样;
如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的。
0 0 0 0 1 0 1 0    +10
1 1 1 1 0 1 0 1    -10
-(1*2^7 – 1)+ 1*2^6 + 1*2^5 + 1*2^4+ 1*2^2 + 1*2^0 = -10
最高有效位的权是-(2^w-1 -1)
基于反码的机器现在很少生产。
返回列表