数字电路中的原码,反码,补码的算法
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)
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)
相关文章推荐
- 数字电路中的原码、反码、补码怎么求简单?负数怎么转换数制?
- Java原码、反码和补码的算法,Java跨平台原理,以及JDK安装目录说明
- 【经典算法】:原码,反码,补码之间的转换问题
- 关于计算机数字表示原理的研究(原码,反码,补码)
- 原码反码补码,计算机中的数字表示
- 计算机内存对数字的存储方式——原码、反码、补码
- 关于计算机中数字存储方式-原码、反码、补码
- 无线通信数字表示及数的原码、反码、补码
- 数字在计算机中的表示(原码、反码、补码)个人备忘
- 计算机中的原码、反码、补码
- 原码,反码,补码
- 闲扯原码、反码、补码
- 原码、反码、补码总结
- 原码, 反码, 补码
- 原码,反码,补码,移位
- 原码, 反码和补码详解
- 原码,反码,补码
- 原码、反码与补码
- 原码•反码•补码
- 原码,反码和补码的关系