概述
目录
目录
一、位运算的介绍
二、位运算的使用
(1)左移<<
(2)右移>>
(3)按位与&
(4)按位或|
(5)按位取反~
(6)异或^
三、位运算的技巧
一、位运算的介绍
什么是位运算呢?位运算就是二进制数据进行运算的运算符,这里我们主要说到左移,右移,按位与,按位或,按位取反,异或。
二、位运算的使用
(1)左移<<
左移<< 顾名思义就是向左移动。
如数据:1010<<1 1010左移一位后:10100 即向左移动,低位补0
(2)右移>>
右移>>顾名思义就是向右移动
如数据:1010>>1 1010右移一位:101 向右移动
(3)按位与&
按位与与代码中的逻辑运算从差不多,两个都是1才是1,否则是0.
如:1 0 1 0 & 1 1 0 0 ———————————— 1 0 0 0
(4)按位或|
按位或和我们代码中加的逻辑运算差不多,在对两个二进制数进行或运算时,只要其中一个有1,那么就是1,两个都为0才是0.
如:1 0 1 0 | 0 1 1 0 _____________ 1 1 1 0
(5)按位取反~
按位取反就是对于每一位1变成0,0变成1.
如:~1010 取反后:0101
(6)异或^
异或就是一位一位查看,看看是不是不一样,不一样就是1,反之就是0
如: 1 0 1 0 0 1 ^ 1 1 0 0 1 0 _______________ 0 1 1 0 1 1
由此我们可以推出一些简单的结论:
1:任何数异或0是不变的,1^0=1,0^0=0
2: 任何数异或1取反,1^1=0,0^1=1
三、位运算的技巧
去掉最后一位 x>>1 在最后一位加个0 x<<1 在最后一位加个1 (x<<1)|1 把最后一位变成1 x|1 把最后一位变成0 (x|1)-1 最后一位取反 x^1 把右数第k为变成1 x|(1<<(k-1)) 解释:将1向左移动k-1位,第k位是1,1到k-1位是0 吧右数第k位变成0 x&(~(1<<(k-1))) 解释:1向左移动k-1位,第k位是1,1到k-1位是0,取反后在与
最后
以上就是妩媚斑马为你收集整理的位运算详解一、位运算的介绍二、位运算的使用三、位运算的技巧的全部内容,希望文章能够帮你解决位运算详解一、位运算的介绍二、位运算的使用三、位运算的技巧所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复