关于位运算的一个简单实例(~5)

<?php echo ~-5;

 

     ?>

<!--这个例子是:-5取反 思路:   

     1.先求出5的补码,之后再进行运算,因为计算机的运算都是补码的运算,     

       所以所有的运算必须先转换成补码之后,才能运算   

     2.求解过程如下:负数的反码是原码符号位不变,其它按位取反   

     3.求出反码后,反码末位+1即为补码

  先求-5的原码=>10000000 00000000 00000000 00000101        

              反码=>11111111 11111111 11111111 11111010   

              补码=>11111111 11111111 11111111 11111011         

              ~-5=>00000000 00000000 00000000 00000100             

补码符号位不变,其它取反,结果:4 -->

posted @ 2017-04-02 14:24  iwango  阅读(252)  评论(0编辑  收藏  举报