前言:最近在做计算机网络的大题时,看视频时候,发现博主说与运算,但是我感觉那明明是异或运算,我发现我对位运算已经忘的差不多了,特来写此篇文章,用来回忆位运算。
一、位运算
从现代计算机中所有的数据二进制的形式存储在设备中。即 0、1 两种状态,计算机对二进制数据进行的运算(+、-、*、/)都是叫位运算,即将符号位共同参与运算的运算。
二、常见位运算
符号 | 描述 | 运算规则 |
& | 与 | 两个位都为1时,结果才为1 |
| | 或 | 两个位都为0时,结果才为0 |
^ | 异或 | 两个位相同为0,相异为1 |
~ | 取反 | 0变1,1变0 |
<< | 左移 | 各二进位全部左移若干位,高位丢弃,低位补0 |
>> | 右移 | 各二进位全部右移若干位,对无符号数,高位补0,有符号数,各编译器处理方法不一样,有的补符号位(算术右移),有的补0(逻辑右移) |
位运算对于高精度算法,部分算法,例如不使用加减法实现加法等方面有奇效。
总结
最后在期末预习期,祝各位大学生,放平心态,偷偷厉害!