0
点赞
收藏
分享

微信扫一扫

位运算的基本使用方法

单调先生 2022-01-07 阅读 53
c语言

位运算其实就是进制之间的运算,大家刚接触的时候可能觉得这个运算符很烦人,每次都是一串很长的数字,还有补码原码的,更有些朋友认为位运算不重要不需要掌握。其实不然,学会位运算可以更好的帮助我们了解计算机的存储形式,而且再后面的学习中也会经常用到,以后我们面试考官可能也会出这方面相关的面试题。

位运算符有4个

一个是位逻辑与 &

一个是位逻辑或 |

一个是位逻辑异或 ^

一个是取反运算符 ~

除了取反运算符,其他三个位运算符都是双目运算符,也就是有两个表达式的,结合性是从左到右,而取反运算符只有一个表达式,没有结合性。

下面我来给大家介绍一下这些运算符的基本含义

这里先假设有两个十进制的整数x和y

位逻辑与&

x&y,我们先把这两个十进制数写成32位的二进制序列,然后一一对应,如果对应的位数字都是1,才能得1,否则就是0.

举个例子

x=10 ,y=13

00000000000000000000000000001010 x

00000000000000000000000000001101 y

x&y

00000000000000000000000000001000

转化成十进制结果就是8

位逻辑或|

也是同样的,有两个二进制序列,如果对应的位其中一个是1,则结果就是1,只有两个都为0,结果才为0,还是拿上面两个数来计算

x=10 ,y=13

00000000000000000000000000001010 x

00000000000000000000000000001101 y

x|y

00000000000000000000000000001111

转化成十进制数就是15

位逻辑异或

还是同样的,给两个二进制序列,如果对应的位不同,则得到1,如果相同,则得到0

还是拿上面两个数来举例

x=10 ,y=13

00000000000000000000000000001010 x

00000000000000000000000000001101 y

x^y

00000000000000000000000000000111

转化成十进制数就是7

取反运算符 ~

位逻辑异或是单目运算符,只有一个表达式,把一个十进制整数写成二进制序列,顾名思义,如果

位是0的,变成1,位是1的,变成0.

假设一个整数24

00000000000000000000000000011000

对24取反之后就是这样的

111111111111111111111111111111100111

举报

相关推荐

0 条评论