~(取反操作符)的探索

一、定义

取反操作符是位运算符的中一个,作用是按位补运算符翻转操作数的每一位。

二、举例说明

正数:~(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的时候,其实这是负数的补码,这一点很重要。          

 

你可能感兴趣的:(~(取反操作符)的探索)