按位取反运算

今天深入探讨了一下按位取反相关知识:
以前学习这个走入了一个误区,认为一个自然数取反后得到的是它的十进制数值的相反值,其实不然,二进制和十进制取反还是有很大的不同的
例如:~18取反并不等于-18 而是等于-19
~18 --> ~ 00010010B
按位取反后得到11101101B

二级制负值转十进制真值符号值(最高位)不变,其他位取反
得到10010010B
转换为十进制为 -19
注意的是~0=11111111B 所以 ~0=-1
11111111+1=0 与我们十进制-1+1=0相似
由此可推演10000000的真值为-128

可以简单的理解就是从-128开始一直加1 直到等于0是的就为负值的容量,所以二进制相对于十进制排序为10000000 10000001 …11111111 00000000 00000001…01111111 ----> -128----127

发布了2 篇原创文章 · 获赞 0 · 访问量 16
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览