关于计算机中位运算-位取反知识的了解

1、 知识:
而按照计算机中存储的数据都是1和0来说,计算机是没有负号这一说的,而在计算机中,最高位为1的表示为负数,而10111110也不例外
2、最高位表示负数?
一开始我想 300二进制的为10010 1100那么最高位是0难道就是负数吗?
不是的,计算机中,一字节=8位,也就是说,不满足8位的以0填充,而8位换算位十进制最高位255,300>255,所以300占2个字节储存。所以计算机中300的储存形式应该是
0000 0001 0010 1100,最高位为0,所以为正数。
3、如何进制位取反
65写成二进制也就是01000001按位取反的意思是原来的0变成1,原来的1变成0转换后 也就是
10111110
转换为十进制也就是128+32+16+8+4+2=190
而按照计算机中存储的数据都是1和0来说,计算机是没有负号这一说的,而在计算机中,最高位为1的表示为负数,而10111110也不例外
10111110的负数表示算法为:最高位为符号位,不能计算,计算机中负数都是按照补码的表示的,也就是除第一位外,各位取反,最后加1,各位取反后为:1000001,就是65,加1为65,最后算上第一位的负号为也就是-66
4、总结
原码=二进制
反码=原码中1变0,0变1
补码=反码+1
取反并求得补码后要计算机进行最高位符号的判断,且最高位不参与值的计算!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未成年梦想

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值