刷题(4)-位运算(1)总结

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/speargod/article/details/97132111

一. 位运算

主要看一,二章

位运算总结

十进制->二进制  
    正数:正常  除2取余 除2取余
    负数: 补码 (先把它当成正数算2进制,然后各位取反,再+1) 
    -1的补码全是11111
    
二进制->十进制  
    正数:正常   2的n-1次方 
    负数:同样 各位取反 ,再+1  然后算十进制,最后加个负号 (连着符号位 都取反,因为正数必带符号位0)

符号位: 最高位  正数0 负数 1

位运算: & | ~ >>  << ^(按位异或 相同为0 不同为1) 

x & 1 判断奇偶  true 奇 false 偶
x>>1 相当于 x/2

位运算的优先级很低 切记,所以关于位运算最好都套个()

<< 左移 右边补0   
>> 右移 左边补符号位的副本  一个数/2 相当于 >>1(不管正负)  只适合于整型 不适合于浮点型 <<1 同理。

把一个整数减去1之后再和原来的整数进行位与运算,得到的结果相当于把整数的二进制表示中最右边的1变成了0,很多二进制的位运算用到了这个结论!!!

猜你喜欢

转载自blog.csdn.net/speargod/article/details/97132111