首页 > 其他分享 >C中 &=~(3<<24) 和 |=(1<<24) 意思

C中 &=~(3<<24) 和 |=(1<<24) 意思

时间:2023-02-03 20:57:37浏览次数:51  
标签:24 0000 0001 取反 1111 意思 按位 1100

 &=~(3<<24) 和 |=(1<<24) 的作用是修改二进制 0和1 的位。

1.  介绍

假设有一个 32bit 的CPU,CPU 在一个时钟周期可以处理32bit 的数据。

32bit 就代表有 32个 0 或 1 ,编号是 0 至 31 ,这是人类书写方法,CPU 里是 31 至 0 。

在通常写法中,为了方便,将每4位(bit) 分为 一组,如下:

 1000 0000 0010 0001 0000 0001 0000 0010
------------------------------------------
31                                    0

 

 2. 与运算

看下面的这个句子,想要看语句的优先级。

 &=~(3<<24)

1. 先算 (3<<24), 3的二进制 左移 24位。

移动前:
0000 0000 0000 0000 0000 0000 0000 0011

移动后:
0000 0011 0000 0000 0000 0000 0000 0000

2. 再算 ~ (按位取反)

移动后:
0000 0011 0000 0000 0000 0000 0000 0000

上面的值按位取反:
1111 1100 1111 1111 1111 1111 1111 1111

十六进制显示:
0xFCFFFFFF

 3. &= (=号就是变量赋值的=号意思)

& 是将上面按位取反后,和某个值按位与(假设& 左边是某个寄存器)

某寄存器值:1001 0000 1000 0001 1100 1011 1100 0000
取反后的值: 1111 1100 1111 1111 1111 1111 1111 1111
-------------------------------------------------------
按位与运算:1001 1100 1000 0001 1100 1011 1100 0000

 总结:&=~(3<<24) 作用就是只修改 第24位的值,其他位的值不变。

 

 

3. 或运算

 |=(1<<24) 的过程和上面 与运算 过程一样,就不重复说明了。

 

 

 

参考:

https://www.bilibili.com/video/BV1ba411g78y 时间:09分01秒

 

标签:24,0000,0001,取反,1111,意思,按位,1100
From: https://www.cnblogs.com/wutou/p/17090400.html

相关文章

  • Python__24--对象的特殊属性与特殊方法
    1特殊属性1.1dictclassA:passclassB:passclassC(A,B):def__init__(self,name,age):self.name=nameself.age=agex=C('Jack',20)print(x._......
  • P4024 [CTSC2012]统计学家
    P4024[CTSC2012]统计学家洛谷:P4024[CTSC2012]统计学家Solution首先考虑离散化。rev1&rev2发现要么\(n=1\),要么\(m=1\),相当于对于一个一维数列求区间逆序对......
  • 漏洞深度分析|Apache iotdb-web-workbench 认证绕过漏洞(CVE-2023-24830)分析
     项目介绍IoTDB-Workbench是IoTDB的可视化管理工具,可对IoTDB的数据进行增删改查、权限控制等。项目地址https://github.com/apache/iotdb-web-workbench漏洞概述Apa......
  • 我所说的“隐形开发人员”是什么意思
    昨天我收到了几封读者邮件。他们对我的隐形开发人员的概念感到困惑。在一些文章中,我提倡作为开发人员创造价值和提高生产力。在昨天的文章中,我建议您做的只是勉强过得去......
  • 2020年5月24日总结
    现在每天好像没了多少动力,没有再去学习新的知识点,都是在每天尽量去参加一两场比赛,可能不会开学了吧,暑假也不知道能不能去留校,不能去的话就制定一个计划表,落实到每一天的安排......
  • POJ 2492 A Bug's Life(并查集)
    DescriptionBackgroundProfessorHopperisresearchingthesexualbehaviorofararespeciesofbugs.Heassumesthattheyfeaturetwodifferentgendersandthat......
  • BZOJ 3224 普通平衡树 (BST+Treap)
    题目描述:您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:插入数值x。删除数值x(若有多个相同的数,应只删除一个)。查询数值x的排名(若有多个相同的数,应......
  • 2019年7月24日训练日记
    早上去了讨论了一下昨天的B题,其实莫队也挺好理解的,那道题直接套板子就能过,然后昨天那个二十几行的代码也理解了,思路特别巧妙,和我之前的思路差不多,只不过我少考虑了一个点。......
  • P2241 统计方形(数据加强版)(矩形中的正方,长方形统计)
    统计方形(数据加强版)题目背景1997年普及组第一题题目描述有一个\(n\timesm\)方格的棋盘,求其方格包含多少正方形、长方形(不包含正方形)。输入格式一行,两个正整数\(......
  • VK1S68C/VK1640B是血氧仪LED数码管显示驱动芯片/LED数显驱动控制电路(IC),SSOP24小体积封
    产品品牌:永嘉微电/VINKA产品型号:VK1S68C封装形式:SSOP24概述:VK1S68C是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有3线串行接口、数据锁存器、LED......