按位与、或、非、异或总结

【漫谈C语言和嵌入式041】位运算基础:按位与、或、非、异或 位运算是C语言中一个非常强大且灵活的工具,掌握它可以使你在编写高效、简洁的代码时得心应手。通过本篇博客,你应该已经对按位与、或、非、异或有了清晰的理解,并且能够应用这些操作来解决实际编程中的问题。 阅读详情

位运算符有:&(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。
优先级从高到低,依次为~、&、^、|
1. 按位与操作

0&0=0; 0&1=0; 1&0=0; 1&1=1(有0则0)

例子:10&9: 0000 1010 & 0000 1001 = 0000 1000 = 8
负数按补码形式参加按位与运算

“与运算”的特殊用途:
(1)清零。如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。
(2)取一个数中指定位
方法:找一个数,对应X要取的位,该数的对应位为1,其余位为零,此数与X进行“与运算”可以得到X中的指定位。
例:设X=10101110,
取X的低4位,用 X & 0000 1111 = 0000 1110 即可得到;
还可用来取X的2、4、6位。
2. 按位或运算符(|)

0|0=0;0|1=1;1|0=1;1|1=1(有1则1)

即 :参加运算的两个对象只要有一个为1,其值为1。
例如:3|5 即 0000 0011 | 0000 0101 = 0000 0111 因此,3|5的值得7。

另,负数按补码形式参加按位或运算。

“或运算”特殊作用:

常用来对一个数据的某些位 置1。

方法:找到一个数,对应X要置1的位,该数的对应位为1,其余位为零。此数与X相或可使X中的某些位置1。

例:将X=10100000的低4位置1 ,用 X | 0000 1111 = 1010 1111即可得到。

3. 异或运算符(^)
0^0=0;0^1=1;1^0=1;1^1=0;(同0异1)

即:参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。
例如:10^-9 即 0000 1010 ^ 1111 0111 = 1111 1101(补码) 原码即为1000 0011 即10^-9 = -3

“异或运算”的特殊作用:

(1)使特定位翻转 找一个数,对应X要翻转的各位,该数的对应位为1,其余位为零,此数与X对应位异或即可。

例:X=10101110,使X低4位翻转,用X ^ 0000 1111 = 1010 0001即可得到。
(2)与0相异或,保留原值 ,X ^ 0000 0000 = 1010 1110。

(3)交换a和b

4. 取反运算符(~)
~1=0;~0=1;

即:对一个二进制数按位取反,即将0变1,1变0。
使一个数的最低位为零,可以表示为:a&~1。

~1的值为1111111111111110,再按“与”运算,最低位一定为0。因为“~”运算符的优先级比算术运算符、关系运算符、逻辑运算符和其他运算符都高。

5. 位移运算符(<<,>>)
左移运算符(<<)将一个运算对象的各二进制位全部左移若干位

操作数每左移一位,相当于该数乘以2。

右移运算符(>>)将一个数的各二进制位全部右移若干位

操作数每右移一位,相当于该数除以2。

YOLOv8性能提升:基于SPD-Conv的高效空间深度转换卷积技术解析【YOLOv8】 SPD-Conv是一种结合了空间和深度信息的卷积技术。与传统卷积不同,SPD-Conv通过在卷积过程中动态调整空间维度和深度维度之间的关系,使得模型能够在较少的参数下捕捉到更多的空间细节。这种方法尤其适用于检测小目标和复杂场景中的细微特征。SPD-Conv的核心思想是通过引入一个空间深度转换矩阵,将输入特征图的空间信息有效地映射到更高维度的深度信息中。这种转换不仅可以保留输入图像的空间细节,还可以在卷积操作中增强特征的表达能力。空间深度转换:通过一个线性变换矩阵,将输入特征图的空间信息转换为深度信息。 阅读详情

相关推荐

大模型驱动时序量化因子自动优化:从WorldQuant回测到实战策略

本文探讨了如何利用大模型驱动时序量化因子的自动优化,构建从创意生成到实战验证的完整流程。通过结合WorldQuant回测平台,搭建自动化流水线,详细拆解了因子生成、回测验证与迭代优化的核心模块。文章分享了从初版实现到进阶优化的实践经验,并指出提示词工程与领域知识注入是关键,旨在实现人机智能协作,提升量化策略研发效率。

wdx012345的博客 802

位运算——异或运算

目录按位异或运算(^)异或运算的应用镜子田地镜子 按位异或运算(^) 按位异或运算将两个运算分量的对应位按位遵照以下规则进行计算: 0 ^ 0 = 0, 0 ^ 1 = 1, 1 ^ 0 = 1, 1 ^ 1 = 0 即相应位的值相同的,结果为 0,不相同的结果为 1。 例如,2 ^ 6结果为4 因为2表示为二进制为0010,6表示为二进制为0110 两数只有第三位相异,因此最后的结果为0100,即为4 了解异或运算的用法,我们来看看异或运算在算法题中的应用。 异或运算的应用 镜子田地 题目描述

努力的小白马 2万+

Avalonia使用CefNet 实现web-browsers(基于CentOS8 Arm64架构)

Avalonia使用CefNet 实现web-browsers(基于CentOS8 Arm64架构)

confused_kitten的博客 3802

位运算与运算符优先级

下面我们来总结一下位运算与运算符优先级 (如果对补码、反码运算不理解或者不明白为什么运算要用补码可以看一下这篇https://blog.youkuaiyun.com/weixin_44407699/article/details/96270169) 位运算 位运算共有以下几种: &(按位与) |(按位或) ^(按位异或) ~(按位非) >>(右移) <<(左移...

Lanly-Li的博客 1万+

【数据集】30 m地表温度LST数据集

【数据集】30 m地表温度LST数据集

WW、forever的博客 1126

【文献笔记】ICCV 2021 | Point Transformer

作者提到,特别适合点云处理,因为自注意力机制是的核心,本质上就是一个集合算子:它对输入元素具有顺序不变性和数量不变性3D点云是无序的,即使改变点云txt文件中的点顺序也不会有任何影响。自注意力机制天然具有排列不变性,因为它通过对所有"点对"的关系进行建模来处理输入,而不依赖于任何特定的输入顺序点云数据通常覆盖了3D空间中的对象或场景,理解这些数据需要捕捉点与点之间复杂的空间关系。自注意力机制能够有效的捕捉这些关系,因为它为每个"点对"赋予一个。

m0_55908255的博客 965

按位异或运算符的讲解 (详细)

按位异或运算 按位异或运算是数学或者计算机中运用到的数据处理的方法。感觉是一种思路,当然也是运用到了他的原理。 异或运算 首先异或表示当两个数的二进制表示,进行异或运算时,当前位的两个二进制表示不同则为1 ,相同则为0. 改方法被广泛用来统计一个数的1的位数。 即: 0 ^ 0 = 0 , 0 ^ 1 = 1, 1 ^ 0 = 1 , 1 ^ 1 = 0 , 按位异或的3个特点: 1.) 0 ^ 0 = 0 , 0 ^ 1 = 1, 0异或任何数=任何数。 2.)1 ^ 0 = 1 , 1 ^ 1 =

nanZhaiXiaoLang的博客 6万+

【python】懂车帝字体反爬逐层解密案例(附完整代码)

懂车帝字体反爬解密,完整代码分享

景天科技苑 2万+

最基于底层的运算符——位运算符

位运算符是直接对二进制位(bit)进行操作的运算符,它们在底层开发、算法优化和特定场景(如位掩码、数据压缩)中非常高效。位运算符是底层编程的利器,特别适合处理二进制数据、优化性能或与硬件交互。掌握其原理后,可结合具体场景灵活使用,但需在效率和可读性之间做好平衡。高位补符号位(正数补0,负数补1)。高位补0,无论正负。

2301_80215285的博客 3264

微信支付接口「系统繁忙 SYSTEM_ERROR」/「文件不存在」报错分析与解决方案 接口开发实现SDK

微信支付的“平台证书模式”只有5年的有效期,过期后微信支付将不再签发新的平台证书,转而要求开发者使用“微信支付公钥”来处理敏感信息加密及回调签名验证。然而,由于以下几点原因,许多开发者在调用 获取平台证书。尽管微信支付在技术迭代上有其必要性,但报错设计过于不友好。诸如“系统繁忙”这样的提示很难直接关联到平台证书失效或公钥切换问题。这样的信息表达,开发者不仅看不懂,还需要花费大量时间分析排查,非常影响效率。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 779

Python中的join函数的用法

从语法、实例、应用三方面详尽地介绍join函数

阿黎逸阳的博客 2万+

C语言与,或,非,同或,异或,左移,右移及优先级,查表法计算一个十进制数中1的个数

C语言与,或,非,同或,异或,左移,右移及优先级,查表法计算一个十进制数中1的个数

qq_42939980的博客 7572

Lumerical 教程,包含作者个人理解及相关设计案例 (目前共计184篇,持续更新中)

4138。

u011699626的博客 1606

按位与、或、非、异或

按位与、或、非、异或总结

weixin_46899589的博客 2351

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

C语言的按位与、或、非、异或

位运算符有:&(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。 优先级从高到低,依次为~、&、^、|按位与运算有两种典型用法,一是取一个位串信息的某几位,如以下代码截取x的最低7位:x & 0177。二是让某变量保留某几位,其余位置0,如以下代码让x只保留最低6位:x = x & 077。按位或运算的典型用法是将一个位串信息的某几位置为1。如将要获得最右4位为1

sandy1983的专栏 3万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

C语言的按位与、或、非、异或 左移右移

位运算符有:&(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。  优先级从高到低,依次为~、&、^、|  (1)与:按位与运算有两种典型用法: 一是取一个位串信息的某几位,如以下代码截取x的最低7位:x & 0177。 二是让某变量保留某几位,其余位置0,如以下代码让x只保留最低6位:x = x & 077。  (2)或:按位或运算的典型用法是将一个位串信息的某几位置为1。

yuan08shandong的博客 2210

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

C语言按位与、或、非、异或

位运算符有:按位与、按位或、按位非、按位异或。 与:&   都为1则为1 或:|     有一个为1则为1 非(取反):~     按位取反 异或:^    不同为1(如1和0,0和1),相同为0(0和0,1和1) 位运算的几个经典用途: 1. 取x串中的低7位     x&0x7F 2. 将x串中低四位变成1,其他位不变     x|0xF 3. 将x串中低四位取反

jarryguang的专栏 3515

c语言异非或,C语言的按位与、或、非、异或都什么意思。有什么用

这些是位操作运算符:参与运算的量,按二进制位进行运算。在计算机中,数据都是以二进制数形式存放的,位运算就是指对存储单元中二进制位的运算。C语言提供6种位运算符。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<>)六种。位运算符 & |~<< >> ∧ 按优先级从高到低排列的顺序是:位运算符中求反运算“~“优先级最高,而左...

weixin_39831493的博客 1005

c++进行按位与、或、非、异或、移位运算, 计算汉明距离

与、或、非、异或 运算 都是二进制运算 与“ & “ 都是1才得1 0&0 = 0 1&0 = 0 0&1 = 0 1&1 = 1 例如 5&12 = 4 0 1 0 1 = 5 1 1 0 0 =12 .------------ 0 1 0 0 =4 或 " |" 只要有一个是1,就得1 1 | 0 = 1 0 | 1 = 1 0 | 0 = 0 1 | 1 = 1 例如 5|12 =13 0 1 0 1 =5 1 1 0 0 =12 .-----..

qq_41253960的博客 2085
上一篇: flask 国际化
下一篇: gunicorn 启动django
唐僧不爱八戒
博客等级 码龄9年 158粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值