位运算中的按位与(&),按位或(|),按位异或(^)

简介: 位运算中的按位与(&),按位或(|),按位异或(^)

大家好,今天和大家分享的是位运算符中的按位与,按位或,按位异或

首先先声明一下:参加位运算的两个数都要用二进制来表示。

一般给的数都是十进制,十进制转化为二进制的方法如下:


9f1ee6e60f8f489988b359f4a89bf45f.jpg


注意:如果给的是八进制,十六进制等,把2改成对应的进制数进行运算即可;

二进制转化为十进制方法如下:


27c6d2635b91662e5bf1a31106d182d7.jpg



一.按位与运算符(&):


  1. 运算规则:两个数的二进制数对应的位数相同为1,不相同为0;

2. 例子:1&1=1; 1&0=0; 0&1=0; 0&0=0;

1&5也即(00 00 00 01)&(00 00 01 01)=(00 00 00 01)所以1&5=1



f5a87e65def066eee300b7c71604267f.png

二.按位或运算符(|):


1.运算规则:两个数的二进制数对应的位数只要有一个为1,即结果为1,两个都为0,及结果为0;


2.例子:1|0=1; 1|1=1; 0|1=1;0|0=0;

1|5也即(00 00 00 01)|(00 00 01 01)=00 00 01 01=5;所以1|5=5;


7a01de964830ebf276413d921bf8b253.png


三.按位异或运算符(^):


1.运算规则:两个数的二进制数对应的位数相同为0,不相同为1;

2.例子:1^0=1; 1^1=0; 0^0=0; 0^1=1;

1^5也即(00 00 00 01)|(00 00 01 01)=00 00 01 00=4 所以1^5=4;



4b963e4e0c316ccb2a8226fd79045d6d.png


2023.01.15

From:努力进大厂的新青年

相关文章
|
存储 Java
一篇搞定位运算(&、|、^、~、>>、<<、>>>)
我们最了解的就是十进制 , 除了十进制 , 还有二进制 , 六进制 , 八进制等等 , 由于位运算操作就是二进制 , 所以我们主要来说一下二进制 , 十进制的个位有(0~9)这几个数字 , 而二进制也相同 , 二进制的个位上只有0和1
70 0
|
8月前
|
存储
算数移位,逻辑移位以及循环移位
算数移位,逻辑移位以及循环移位
141 0
|
7月前
|
编译器 Linux C++
详细解读C++中的位运算总结
详细解读C++中的位运算总结
38 0
|
8月前
|
算法 测试技术 C++
【位运算 拆位法】1835. 所有数对按位与结果的异或和
【位运算 拆位法】1835. 所有数对按位与结果的异或和
按位操作符:按位与 & 、按位或 | 、按位异或 ^ 、按位取反 ~
所有的按位操作符都是按二进制位补码操作
76 0
|
C语言
C/运算符(按位与、按位或、按位异或)
C/运算符(按位与、按位或、按位异或)
|
算法
位运算能做什么
位运算能做什么
57 0
异或运算符简单逻辑运算 a^=b
异或运算符简单逻辑运算 a^=b
135 0
(位操作符)按位与、按位或、按位异或
(位操作符)按位与、按位或、按位异或
(位操作符)按位与、按位或、按位异或
使用^、&(异或、并且)位运算 实现算数加法(+)
用位运算即是计算机的运算规则,而计算机只懂得二进制,所以位运算使用的进制是二进制。
173 0
使用^、&(异或、并且)位运算 实现算数加法(+)