编程小站



和我一起走进编程的世界

1.4 位运算

运算符作用a=27(10)b=20(10)ans
&按位与11011(2)10100(2)10000(2)=16(10)
|按位或11011(2)10100(2)11111(2)=31(10)
^异或11011(2)10100(2)01111(2)=15(10)
~按位非11011(2)00100(2)=4(10)

P.S.数字后面的括号代表进制


众所周知,在计算机中,数字以二进制的格式存储。

而位运算,就是对于二进制数字直接处理的运算,因而执行速度最快。

本节内容理解就好,在正常的学习过程中,位运算基本都可以用其他四则运算替代,所以不是必须掌握的内容。

下面来一个一个的进行说明:


按位与,即&

对于两个二进制数字的某一位,如果它们都为1,则结果的这一位也为1

如果他们不都为1(即有0),则结果的这一位为0。

比如

110&101=100

111&110=110


按位或,即|

对于两个二进制数字的某一位,如果它们都为0,则结果的这一位也为0

如果他们不都为0(即有1),则结果的这一位为1。

比如

110&101=111

111&110=111


异或,即^

对于两个二进制数字的某一位,如果它们不一样,则结果的这一位为1

如果他们一样,则结果为0

比如

110&101=011=11

111&110=001=1


按位非,即~

对于以个二进制数字的某一位,如果它为0,则结果的这一位为1

如果他们为1,则结果的这一位为0。

比如

~1111 = 0000 = 0

~1010 = 0101 =101

最近的文章

欧拉第八题

欧拉第八题…

继续阅读
更早的文章

1.3 数学运算符

各种编程中的数学运算…

继续阅读