
关于按位取反计算
1的按位取反我是这样算出来的:1.获取1的二进制,使用四位二进制,为00012.对0001进行按位取反得到11103.因为计算机使用补码,所以我们要想办法计算1110这个...
1的按位取反我是这样算出来的:
1.获取1的二进制,使用四位二进制,为0001
2.对0001进行按位取反得到1110
3.因为计算机使用补码,所以我们要想办法计算1110这个值的补码
4.最高位符号位为1,表示负数,则反码为1001
5.最高位符号位为1,补码为反码+1,则补码为1010
6.得到按位取反后的值,1010 即为-2
但是-1的按位取反应该怎么算呢?如果将-1取绝对值再按上面这么计算的话,应该也是-2才对啊,但是-1的按位取反应该是0 。
谁能像我这样详细的列一下-1的按位取反步骤呢?并说明每一步的原因,非常感谢。 展开
1.获取1的二进制,使用四位二进制,为0001
2.对0001进行按位取反得到1110
3.因为计算机使用补码,所以我们要想办法计算1110这个值的补码
4.最高位符号位为1,表示负数,则反码为1001
5.最高位符号位为1,补码为反码+1,则补码为1010
6.得到按位取反后的值,1010 即为-2
但是-1的按位取反应该怎么算呢?如果将-1取绝对值再按上面这么计算的话,应该也是-2才对啊,但是-1的按位取反应该是0 。
谁能像我这样详细的列一下-1的按位取反步骤呢?并说明每一步的原因,非常感谢。 展开
1个回答
展开全部
-1的四位补码
因为-1是负数,最高位为1。
绝对值1的原码为 001
反码为110
补码=反码+1,即111
与符号并接在一起,得到-1的补码为 1 111
追问
也就是说,取绝对值的时候不对符号位做第三步的反码操作?正数和负数按位取反有什么根本上的区别吗?
追答
取反时不考虑符号位。符号位“正数为0,负数为为1”是“固定的”。
按补码规则:正数的补码就是真值的原码。也就是说,只有负数才有“原码-->反码-->补码=反码+1”过程。

2025-03-09 广告
上海观启智能科技有限公司致力于打造一体化技术,我们为住宅和楼宇打造的自动化和控制解决方案,能够帮助用户实现一键式环境控制,这一解决方案集成了影音、照明、遮阳。T、安防、建筑管理系统(BMS)和HVAC等系统,可以为用户提供更高的舒适度、便利...
点击进入详情页
本回答由观启智能提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |