我是靠谱客的博主 平常悟空,这篇文章主要介绍编程语言中 按位取反操作怎么计算,现在分享给大家,希望可以做个参考。

平时用不到,关键时刻还发懵!这里特地记录一下 "~" 的用法。

首先,一个整数的原码补码反码怎么计算:正数,它的原码,补码,反码相同;负数的反码和原码,符号位一样,值取反,补码是在反码的基础上加1。

因为在计算中,二进制数在内存中以补码形式存储。

如:19 二进制表示为:0001 0011 原码补码反码都是它;但是 -19  二进制表示为: 1001 0011 原码:1001 0011 反码:1110 1100 补码:1110 1101

接下来就可以计算按位取反了,就是对原形的补码取反,再求取反后的反码,再对反码求原码,如果取反后最高为是1,那么求原码就是对取反后的反码加1;如果取反后的最高位为0,它的补码反码原码相同,都是取反后的二进制数。

求~19 

对它的补码取反:1110 1100 取反后减一:1110 1011  则再取反得原码:1001 0100  即:-20

求~(-20) 

首先,-20的二进制表示为:1001 0100即为原码,反码:1110 1011 补码:1110 1100

然后,对补码取反:0001 0011 反码原码补码都是它,即:19

总之,按位取反操作总结为一个公式:~x = -(x+1)。

这里再分享几篇有意思的博客,介绍原码补码反码的由来。

https://blog.csdn.net/weixin_34344677/article/details/86377391

https://blog.csdn.net/leonliu06/article/details/78685197

https://blog.csdn.net/zhiwen_a/article/details/81192087

https://blog.csdn.net/wenxinwukui234/article/details/42119265

最后

以上就是平常悟空最近收集整理的关于编程语言中 按位取反操作怎么计算的全部内容,更多相关编程语言中内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部