首页 > 代码库 > 神奇的位操作
神奇的位操作
基本知识:
& 位与操作
| 位或操作
^ 按位异或操作
~ 位非操作
计算机中数字有原码,反码,补码三种存储格式,通常都是补码形式;
一个正数的原码,反码和补码相同;一个负数,符号位为1,其余各位对原码按位取反,然后加1;
技巧总结:
1、n & (n - 1)可以去掉n位表示中的最后一个1,利用这个可以统计一个数的二进制表示中1的个数;
2、每个数乘以2,就相当于向左移动一位。所以2的n次幂就是1向左移动n位;
3、异或操作
a ^ b ^ b = a ^ (b ^ b) = a ^ 0 = a;
a ^ b = b ^ a;
4、已知负数补码,求该十进制负数。假设补码用N表示,则十进制数位(~N)+1;
神奇的位操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。