补码概述
2016-01-15 00:00
501 查看
摘要: 补码
补码可以查看两篇文章,一个是转载的,其中截取了一部分,第二个是百度百科的,为什么要使用补码,就知道了,我讲一下这个片段。
2、补码:利用溢出,我们可以将减法变成加法:
对于十进制数,从9得到5可用减法:
9-4=5 因为4+6=10,我们可以将6作为4的补数
改写为加法:
+6=15(去掉高位1,也就是减10)得到5.
对于十六进制数,从c到5可用减法:
c-7=5 因为7+9=16 将9作为7的补数
改写为加法:
c+9=15(去掉高位1,也就是减16)得到5.
在计算机中,如果我们用1个字节表示一个数,一个字节有8位,超过8位就进1,在内存中情况为(100000000),进位1被丢弃。
⑴一个数为正,则它的原码、反码、补码相同
⑵一个数为负,刚符号位为1,其余各位是对原码取反,然后整个数加1
- 1的原码为 10000001
- 1的反码为 11111110
+ 1
- 1的补码为 11111111
0的原码为 00000000
0的反码为 11111111(正零和负零的反码相同)
+1
0的补码为 100000000(舍掉打头的1,正零和负零的补码相同)
上面这部分讲的是为什么要用补码,补码的实际用处,百科中讲的是理论前面一小段,这段话中举的例子非常好,负数的补码是怎么获取的,就是取正---然后用他的大数去减他,比如8位的就是用(100000000)去减他。然后怎么演变成取反加一的?就是先将10000000-1,然后就变成了取反加一,刚开始减1了,最后肯定需要加1.
记住一下:反码只是过渡的产品,一个中间定义,补码才是结果。
另外附上:
“补充码”前面补数时候直接补充首位就ok,也就是说,0就补充0,1就直接补充1就ok了。这个补充是在补码的基础上。
(全是使用吧补码做运算)正数+正数需要补零,负数加正数不需要,负数+负数先补1,防止超出范围,也就是说,每一次相加,最好是先补位。
学习这个注意一点:1.由来,补码是怎么来的,反码是辅助;2.存在形式,怎么存储的,也就是关系;3计算,也就是运行,怎么加-*除。
[X + Y]补 = [X]补 + [Y]补 ,一个数和另外的一个数相加,直接就这两个数的补码相加的补码就ok了。
扩展阅读:http://blog.csdn.net/xiaofei2010/article/details/8806951
相乘的运算,以及其他的运算,也可以自行百度。
补码可以查看两篇文章,一个是转载的,其中截取了一部分,第二个是百度百科的,为什么要使用补码,就知道了,我讲一下这个片段。
2、补码:利用溢出,我们可以将减法变成加法:
对于十进制数,从9得到5可用减法:
9-4=5 因为4+6=10,我们可以将6作为4的补数
改写为加法:
+6=15(去掉高位1,也就是减10)得到5.
对于十六进制数,从c到5可用减法:
c-7=5 因为7+9=16 将9作为7的补数
改写为加法:
c+9=15(去掉高位1,也就是减16)得到5.
在计算机中,如果我们用1个字节表示一个数,一个字节有8位,超过8位就进1,在内存中情况为(100000000),进位1被丢弃。
⑴一个数为正,则它的原码、反码、补码相同
⑵一个数为负,刚符号位为1,其余各位是对原码取反,然后整个数加1
- 1的原码为 10000001
- 1的反码为 11111110
+ 1
- 1的补码为 11111111
0的原码为 00000000
0的反码为 11111111(正零和负零的反码相同)
+1
0的补码为 100000000(舍掉打头的1,正零和负零的补码相同)
上面这部分讲的是为什么要用补码,补码的实际用处,百科中讲的是理论前面一小段,这段话中举的例子非常好,负数的补码是怎么获取的,就是取正---然后用他的大数去减他,比如8位的就是用(100000000)去减他。然后怎么演变成取反加一的?就是先将10000000-1,然后就变成了取反加一,刚开始减1了,最后肯定需要加1.
记住一下:反码只是过渡的产品,一个中间定义,补码才是结果。
另外附上:
“补充码”前面补数时候直接补充首位就ok,也就是说,0就补充0,1就直接补充1就ok了。这个补充是在补码的基础上。
(全是使用吧补码做运算)正数+正数需要补零,负数加正数不需要,负数+负数先补1,防止超出范围,也就是说,每一次相加,最好是先补位。
学习这个注意一点:1.由来,补码是怎么来的,反码是辅助;2.存在形式,怎么存储的,也就是关系;3计算,也就是运行,怎么加-*除。
[X + Y]补 = [X]补 + [Y]补 ,一个数和另外的一个数相加,直接就这两个数的补码相加的补码就ok了。
扩展阅读:http://blog.csdn.net/xiaofei2010/article/details/8806951
相乘的运算,以及其他的运算,也可以自行百度。
相关文章推荐
- 自定义安全文本输入符
- XCode6 生成prefix.pch文件
- 学习ios思想
- 2015职业年终奖金大排名,程序员勇登榜首
- Ubuntu 14.04 为 root 帐号开启 SSH 登录
- Ubuntu14.04安装vim
- ubuntu14.04 qq安装
- scala 函数
- Nexus 私服启动异常
- APP兼容性测试接口
- 图像识别api 比对图片并返回识别结果
- OGG 密码特殊字符和异常退出
- arm学习步骤 入门者必看
- iOS 字符串常用判定库
- android 混淆打包
- java 生成验证码
- python代码规范化工具yapf
- whoosh学习(1)
- whoosh学习(2)
- whoosh学习(3)