码迷,mamicode.com
首页 > 其他好文 > 详细

重温位运算之反码、补码

时间:2015-04-08 14:59:21      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

在计算机系统中,为了区分正负数,所有的数都是以补码的形式存储的:所以以下知识需谨记,
在位运算中有着至关重要的作用。
 
 

反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。 


 
逻辑移位和算术移位仅体现在右移的区别: 
逻辑右移就是不考虑符号位,右移一位,左边补零即可,所以复数右移动会又突然便超级大的情况,负数右移实际中不常使用。而且逻辑右移的有效性基本用于无符号数值
算术右移需要考虑符号位,右移一位,若符号位为1,就在左边补1,;否则,就补0。
所以算术右移也可以进行有符号位的除法,右移,n位就等于除2的n次方。

例如,8位二进制数11001101分别右移一位。
逻辑右移就是[0]1100110
算术右移就是[1]1100110

重温位运算之反码、补码

标签:

原文地址:http://www.cnblogs.com/jiqiwoniu/p/4402158.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!