~(取反操作符)的探索


一、定义

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

二、举例说明

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM