基本位运算包含6种运算符
& 按位与
| 按位或
^ 按位异或
~ 取反
<< 左移
>> 右移(>>>无符号右移)
& 按位与运算
&运算符为双目运算符,参与运算的数以补码方式
相同位的两个数字都为1,则为1;若有一个不为1,则为0
3 & 5 = 1
0000 0011
0000 0101
0000 0001
| 按位或运算
|运算符为双目运算符,参与运算的数以补码方式
相同位只要一个为1即为1;否则为0
3 | 5 = 7
0000 0011
0000 0101
0000 0111
^ 按位异或运算
^运算符为双目运算符,参与运算的数以补码方式
相同位不同则为1,相同则为0
3 ^ 5 = 6
0000 0011
0000 0101
0000 0110
~ 取反运算
^运算符为单目运算符,参与运算的数以补码方式
二进制每一位取反,0变1,1变0
~9 = -10:
二进制: 0000 1001
补码: 0000 1001
取反: 1111 0110
转原码:
取反: 1000 1001
末位加1:1000 1010
<< 左移运算
^运算符为双目运算符,参与运算的数以补码方式
二进制左移若干位,高位丢弃,低位补0
在二进制数后添一个0就相当于该数乘以2
3<<2 = 12
0000 0011
0000 1100
>> 右移运算
^运算符为双目运算符,参与运算的数以补码方式
二进制右移若干位(符号位也需要移动),低位丢弃;左边移出的空位或者一律补0,或者补符号位,这由不同的机器而定(一般对于无符号类型强制补0,对于有符号类型续补符号位)
最大公约数的二进制算法用除以2
5>>2 = 1
0000 0101
0000 0001
相关推荐
c++位运算c++位运算c++位运算c++位运算c++位运算c++位运算c++位运算c++位运算c++位运算
c语言位运算c语言位运算c语言位运算c语言位运算c语言位运算
正在学习位运算的人群
【转载】常用位操作 位运算应用口诀 常用位操作 几个常用的位操作 计算树状数组lowbit的三种方法 统计一个整数的二进制中1的个数(位运算技巧) 收藏 统计一个整数的二进制中1的个数的三种方法 位运算讲稿_by_...
ACM位运算技巧 一些常用到的基本位运算技巧
C语言位运算 有6种: &, | , ^(亦或), <<(左移), >>(右移)。 注意:参与位运算的元素必须是int型或者char型,以补码形式出现。 按位与& &运算常应用于: 迅速清零 保留指定位 判断奇偶性 a & 1 = 1...
c++位运算
位运算即是直接进行二进制位的处理.利用c语言的位操作功能,可以方便地将程序中的许多开关变量存储在一个字节的特定位中以节省内存,此类的思想和技巧常常被用于操作系统、计算机网络协议和软件的设计中⋯ .目前...
位运算是指按二进制位进行的运算。因为在系统软件中,常要处理二进制位的问题。文章介绍位运算符和位运算,位运算举例,位段等
0、逻辑运算符 1、位逻辑非运算 2、位逻辑与运算 4、位逻辑异或运算 5、位左移运算 6、位右移运算
CMU上机题,与深入理解计算机系统一书配套,能更好的理解位运算
这是一个16位运算器的设计,有完整的实验过程,适合初学者
Java的位运算
(11)取模运算转化成位运算 (在不产生溢出的情况下) a % (2^n) 等价于 a & (2^n - 1) (12)乘法运算转化成位运算 (在不产生溢出的情况下) a * (2^n) 等价于 a (13)除法运算转化成位运算 (在不产生溢出的情况下) ...
摘自2014国家集训队论文《回归本源——位运算及其应用》,详细描述了位运算的众多巧妙用法,对于位运算的深入运用可以参考。
位运算符 C提供了六种位运算运算符;这些运算符可能只允许整型操作数,即char、short、int和long,无论signed或者unsigned。
Java位运算操作 左位移 右位移 与或非的操作
JAVA位运算.pdf ,深入了解java位运算
实用位运算规则,让你了解位操作的知识,此属于C语言的基础知识内容。
一个c语言 位运算 的程序一个c语言 位运算 的程序一个c语言 位运算 的程序