二进制与位运算

本文介绍了二进制位运算的基础知识,包括与(&)、或(|)、异或(^)运算的规则,并通过实例展示了整数25与14的位运算过程。此外,还阐述了左移(<<)和右移(>>)的概念,解释了它们如何改变二进制数的位移,并提供了左移运算的等价表达式。位运算在信息学中扮演重要角色,理解其原理对于编程至关重要。
摘要由CSDN通过智能技术生成

代码中对于二进制的处理可以用位运算来实现,位运算是对二进制的每一位进行计算,所以每一位都只有0和1两种可能。先介绍三种常用的位运算符号,与&,或|,异或^,运算符和规则如下图所示
或|在表格中无法显示,应该是A|B

ABA&BA或BA^B
00000
01011
10011
11110
  1. 与运算:两者都为1时,结果即为1,否则为0
  2. 或运算:两者都为0时,结果即为0,否则为1
  3. 异或运算:两者同时为0或1时,结果为0,否则为1.
    两个十进制整数的位运算结果是多少?举个例子A=25与B=14做位运算,A转化为二进制时11001,B转化为二进制是01110,那么如下图
A=2511001
B=1401110
A&B=801000
A或B=3111111
A^B=2310111

在信息学中,一定要注意,不要把A ^ B当成A的B次方(在信息学中,当然在数学中不要把A^B当成A异或B)

位运算中有两种操作,左移<<和右移>>。右移具体还分为带符号右移和无符号右移,我们提到的是带符号右移,无符号右移使用比较少,这里不再做解释。
对于A<<B,表示把A转化为二进制后向左移动B位(在末尾添加B个0)。
对于A>>B,表示把A转化为二进制向右移动B位(删除末尾的B位)。
只有整数可以进行左移和右移,不会在小数范围内讨论,因为小数在计算机中不是纯粹的二进制存储。
比如2<<2,2转化为二进制是10,那么10左移2为,也就变成了10左移动2为,就变成了二进制1000,转化为十进制8,所以2<<2=8。
当然,你也可以将左移理解为A<<B= A × 2 B A\times2^B A×2B

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值