您的位置:首页 > 其它

数字电路中的原码,反码,补码的算法

2013-11-21 23:29 260 查看
引进机器数的3种表示法:原码、补码和反码,是将符号位和数值位一起编码,机器数对应的原来数值称为真值

1.原码表示法

原码表示方法中,数值用绝对值表示,在数值的最左边用“0”和“1”分别表示正数和负数,书写成[X]原表示X的原码。

例如,在8位二进制数中,十进制数+23和-23的原码表示为:

[+23]原=00010111

[-23]原=10010111

应注意,0的原码有两种表示,分别是“00……0”和“10……0”,都作0处理。

2.补码表示法

一般在作两个异号的原码加法时,实际上是作减法,然后根据两数的绝对值的大小来决定符号。能否统一用加法来实现呢?这里先来看一个事实。对一个钟表,将指针从6拨到2,可以顺拨8,也可以倒拨4,用式子表示就是:6+8-12=2和6-4=2

这里12称为它的“模”。8与-4对于模12来说是互为补数。计算机中是以2为模对数值作加法运算的,因此可以引入补码,把减法运算转换为加法运算。

求一个二进制数补码的方法是,正数的补码与其原码相同;负数的补码是把其原码除符号位外的各位先求其反码,然后在最低位加1。通常用[X]补表示X的补码,+4和-4的补码表示为:

[+4]补=00000100

[-4]补=11111100

例1.11 求6-4。

因为[6] 补=00000110,[-4] 补=11111100

所以 00000110-00000100=00000110+11111100=00000010

3.反码表示法

正数的反码等于这个数本身,负数的反码等于其绝对值各位求反。例如:

[+12]反=00001100

[-12]反=11110011

总结以上规律,可得到如下公式:X-Y=X+(Y的补码)=X+(Y的反码+1)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: