~取反 补码=源码取反 + 1
一、定义
取反操作符是位运算符的中一个,作用是按位补运算符翻转操作数的每一位。
二、举例说明—— 取反-补码-减1-源码取反-取反-源码
正数:~(6) 6的二进制表示 0000 0110
按位取反 1111 1001 说明:在计算机中,正数用原码表示,负数使用补码存储,
首先看最高位,最高位1表示负数,0表示正数。
此计算机二进制码为负数,最高位为符号位。
根据补码得到原码,补码-1:1111 1000
除最高位符号位外,其余位取反:1000 0111=-7
所以结果是~6=-7
负数:~(-6) -6的二进制表示 1000 0110 说明:在计算机中,负数使用二进制补码存储。
反码 1111 1001
计算机中存储的二进制补码 1111 1010
~取反 0000 0101
所以结果是~(-6)=5
三、总结
在计算机中负数是按照二进制的补码存储的,所以当最高位为1的时候,其实这是负数的补码,这一点很重要。
^异或 位运算符
对等长二进制模式按位或二进制数的每一位执行逻辑异按位或操作。作的结果是如果某位不同则该位为 1,否则该位为 0。
实例:
| x = 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
<<左移 高位丢弃,低位补 0
博客主要介绍了位运算相关知识。详细讲解了取反操作符,通过正负数示例说明其运算过程,强调计算机中负数按二进制补码存储。还提及异或运算,即对等长二进制模式按位执行逻辑异或操作,以及左移运算,是高位丢弃、低位补 0。
2229

被折叠的 条评论
为什么被折叠?



