码迷,mamicode.com
首页 > 其他好文 > 详细

神奇的位操作

时间:2017-03-07 08:11:51      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:bsp   nbsp   基本知识   利用   基本   amp   统计   位操作   取反   

基本知识:

& 位与操作

|  位或操作

^ 按位异或操作

~ 位非操作

计算机中数字有原码,反码,补码三种存储格式,通常都是补码形式;

一个正数的原码,反码和补码相同;一个负数,符号位为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;

神奇的位操作

标签:bsp   nbsp   基本知识   利用   基本   amp   统计   位操作   取反   

原文地址:http://www.cnblogs.com/zhiyangjava/p/6512601.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!