理解位运算,左移、右移、与、或、非

news/2024/11/25 13:25:12/

位运算是对二进制数的操作,包括左移、右移、&(与)、|(或)、^(异或)等操作。

左移

左移就是将当前的二进制数,整体向左移动N个单位,例如整数32的二级制表达为100000,将这个二进制数整体左移一位就会变成1000000,换算成十进制整数就是64,相当于乘以二。

右移

同理,右移就是将二进制数整体右移N位,还是以32的二进制数为例,将100000整体左移一位就会变成010000,换算成十进制整数是16,相当于除以2。

&(与运算)

按位与运算符(&)将参加运算的两个数据,按二进制位进行“与”运算。

运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1;

即:两位同时为“1”,结果才为“1”,否则为0

例如:3&5 即 0000 0011& 0000 0101 = 00000001 因此,3&5的值得1

|(或运算)

按位或运算符(|)

参加运算的两个对象,按二进制位进行“或”运算。

运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1;

即只有两位同时为“0”,结果才为0,否则为1;

例如:3|5 即 00000011 | 0000 0101 = 00000111 因此,3|5的值得7

^(异或运算)

异或运算符(^)

参加运算的两个数据,按二进制位进行“异或”运算。

运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0;

即:参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。

~(取反运算符)

取反运算符(~)

参加运算的一个数据,按二进制位进行“取反”运算。

运算规则:~1=0; ~0=1;

即:对一个二进制数按位取反,即将0变1,1变0。


http://www.ppmy.cn/news/1155372.html

相关文章

Android AMS——停止和结束Activity清理(十三)

上一篇文章,在单个活动内存回收的 activityIdleInternal 函数中主要调用了下面三个方法: scheduleAppGcsLocked:通知所有需要内存回收的进程进行内存回收。processStoppingAndFinishingActivities:获取所有 stop 和 finish 的 activity 列表并清理。trimApplications:全局…

【LeetCode】18. 四数之和

1 问题 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复): 0…

Spring framework Day15:@lmport注解使用

前言 在编程中,import注解通常用于导入外部的类、接口或其他资源,以便在当前代码文件中使用。它可以提供一种简洁、方便的方式来引入外部依赖,并且有以下几个主要的应用场景和好处: 引入外部类/接口:使用import注解可…

P34~36第八章相量法

8.1复数 复数可表示平面矢量、也可表示正弦量。特别是: 当复数表示正弦量的时候,此时复数称为相量。 8.2复数运算 复数除法也可看做乘法,乘法的几何意义是旋转(辐角相加)( e^x e^y e^xy),同时伸缩(模变…

【C++】string

string相关 这些构造函数其中常用的有:第一个无参构造,第二个拷贝构造,第四个字符串初始化,第六个使用n个字符c初始化。 其他几个构造可以了解,比如第三个:拷贝某个字符串,从pos位置开始拷贝&am…

XML外部实体注入攻击XXE

xml是扩展性标记语言,来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,一般无法直接打开,可以选择用excl或记事本打…

卡尔曼家族从零解剖-(01)预备知识点

讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解的 卡尔曼家族从零解剖 链接 :卡尔曼家族从零解剖-(00)目录最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/133846882 文末正下方中心提供了本人 联系…

codesys【手轮】

一般4线,也有6线 电压:DC5v,12v,24v 脉冲当量:一圈100脉,25脉 计数器不能【-1000】【1000】 因为一循环会多一个计数 要【-1000】【999】或者【-999】【1000】 PLC计数案例: // QQ750273008…