问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言中“>>=,<<=,&=,^=,|=”分别表示什么意思?请举例说明

发布网友 发布时间:2024-05-01 19:53

我来回答

5个回答

热心网友 时间:2024-05-01 22:22

1、C语言中的 >>= 意思为:右移后赋值

代码示例为:

x = 8; 

x >>= 3; 

右移后结果为:00000000 00000000 00000000 00000001

2、C语言中的 <<= 意思为:左移后赋值

代码示例为:

x = 8;

x <<= 3; 

左移后赋值结果为:00000000 00000000 00000000 01000000

3、C语言中的 &= 意思为:按位与后赋值

代码示例为:

x = 0x02; 

x &= 0x01; 

按位与后的结果为:0x00

4、C语言中的 ^= 意思为:按位异或后赋值

代码示例为:

x = 0x02; 

x ^= 0x01; 

按位异或的结果为:0x03 等同于0011

5、C语言中的 |= 意思为:按位或后赋值

代码示例为:

x = 0x02; 

x  |= 0x01;

按位或的结果为:0x03 等同于0011

扩展资料:

1、C语言运算符的优先级顺序

运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。

2、比特右移运算符的位移

比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 00011100。因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。

参考资料来源:百度百科-C语言

热心网友 时间:2024-05-01 22:23

复合赋值。a>>=b相当于 a = a >> b; 以此类推。

a>>=b 表示把二进制a右移b位,比如:

即:

结果是1,再把右移结果赋值给a, 即最后a=1。

<<= 同上,只不过是左移赋值。

&= 是按位与之后赋值,^=是按位异或之后赋值,|=是按位或之后赋值。与,或以及异或的操作很简单:

<<= 同上,只不过是左移赋值。

&= 是按位与之后赋值,^=是按位异或之后赋值,|=是按位或之后赋值。与,或以及异或的操作很简单:

拓展资料

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

热心网友 时间:2024-05-01 22:23

复合赋值。a>>=b相当于 a = a >> b; 以此类推。

a>>=b 表示把二进制a右移b位,比如:

a = 8;
a >>= 3;

即:

二进制8: 00000000 00000000 00000000 00001000
右移3位: 00000000 00000000 00000000 00000001

结果是1,再把右移结果赋值给a, 即最后a=1。

另外,这是算术右移,如果右移的数是负数,用最高位符号位1来填充左边。你可以参考百度算术右移与逻辑右移。


<<= 同上,只不过是左移赋值。


&= 是按位与之后赋值,^=是按位异或之后赋值,|=是按位或之后赋值。与,或以及异或的操作很简单:

  101010         101010        101010
& 011100       | 011100      ^ 011100
---------     ----------    ----------
  001000         111110        110110

热心网友 时间:2024-05-01 22:24

a = 0010(0x02)
a >>= 1; (a 右移1位并把右移的结果重新赋值给a) 此时a = 0001(0x01);
a <<= 1;(a左移1位并把左移的结果重新赋值给a) 此时 a = 0100(0x04);
a &= 0x01;( a与0x01 按位与,并把按位与的结果重新赋值给a)。此时a = 0x0;
a |= 0x01;( a与0x01 按位或,并把按位或的结果重新赋值给a)。此时a = 0011(0x03);
a ^= 0x01;( a与0x01 按位异或,并把按位异或的结果重新赋值给a)。此时a = 0x03;(异或的意思就是,该位均为相同的则该位结果为0,该位均为不同的则该位结果为1)

热心网友 时间:2024-05-01 22:24

补充一个*操作,>>=用作除法取平均值。
假如for(;i<8;i++);i>>=3;结果为1,所以>>=3相当于除以8。
原理:我们知道,十进制下,每向每向右移1位,结果相当于除以10,在二进制下就相当于除以2,所以上面的代码相当于8/2^3,这个方法只能够用于求2的N次方(比如2、4、8、16、32……)的平均值,优点是效率比除法快(在没有硬件除法器的单片机上,和编译器优化也有关)。
当然,反过来,向左移位就是乘法了。
C语言中“&gt;&gt;=,&lt;&lt;=,&amp;=,^=,|=”分别表示什么意思?请举例说明

1、C语言中的 &gt;&gt;= 意思为:右移后赋值 代码示例为:x = 8; x &gt;&gt;= 3;右移后结果为:00000000 00000000 00000000 00000001 2、C语言中的 &lt;&lt;= 意思为:左移后赋值 代码示例为:x = 8;x &lt;&lt;= 3;左移后赋值结果为:00000000 00000000 00000000 01000000 3、C语言中的 &amp;= 意思为:按位与...

c语言中赋值语句,《=,&amp;=,∧=,|=,分别是什么意思

|=:a|=b;//等价于a=a|b;|是按位或

c语言,位符合赋值运算子, =,&amp;=,^=!=, 分别什么含义啊?

11.|= 按位或后赋值 变数|=表示式 参与运算的两个量按照对应位进行或运算,且 0|0→0, 0|1→1, 1|0→1, 1|1→1 这些位运算都是与二进位制码有关的,所以多弄弄也就会了 C语言中复合赋值运算子 :&lt;&lt;= , &gt;&gt;= ,&amp;= ,^= , |= 分别表示什么啊 ? 请高手指点 运算子= 这种组合是赋值语句的一...

C语言中:&amp;= 与等于, |=或等于,这两个表达式表示啥意思呢?

运算说明:1、op=的运算符是C语言中一大类运算符,所有的op=形式运算符,写作a op= b时,均等效于a=a op b;2、几乎所有的双目运算符,均有和赋值合并的op=运算符,包括+=,-=,*=,/=,%=,&amp;=,|=,^=,&lt;&lt;=,&gt;&gt;=等;3、使用op=运算符,比使用a=a op b的形式要高效。4、位运算操作时...

c语言中的&lt;=啥意思,i=(a+k)&lt;=(i+k);又是不是一个赋值语句呢

&lt;= 在C语言中为 少于等于(不大于),在C语言中比较运算符的结果为逻辑值,不是 TRUE(成立) 就是 FALSE(不成立)。上式为比较a+k与i+k的大小(实际也就是a与i的大小)。在这些变量是int型的情况下;若a+k&gt;i+k,&lt;=不成立,则i的值为0;反之,a+k&lt;=i+k,则i的值为1.P.S: ...

C语言中c=a&gt;&gt;3是什么意思,&gt;&gt;好像是位运算符,请问有什么作用

&gt;&gt; 右移就是把这个数的末尾多少位去掉,如17&gt;&gt;3 表示 0001 0001 的最后3位去掉,就变成了 0000 0010 左移运算 左移运算符“&lt;&lt;”是双目运算符。其功能把“&lt;&lt; ”左边的运算数的各二进位全部左移若干位,由“&lt;&lt;”右边的数指定移动的位数,高位丢弃,低位补0。例如: a&lt;&lt;4 指把a的各二进位向...

c语言的运算符号 +,-,*,/,也就是数学里的+,-,*,/,?%,!,&gt;=,&lt;=,&gt;,&lt;

c语言中的符号其实和数学中的差别是有点的。1. 常用运算符 算术运算符: +, -, *, /,关系运算符: &gt;, &lt;, &gt;=, &lt;=, ==, != 逻辑运算符: !, &amp;&amp;, || 赋值运算符:=, +=, -=,*= ,/= ,++,-- 2.算术运算符: +,-,*没什么好说的,跟数学里边一样。/ 在C中称为 整除...

C语言中 (!a&lt;b&amp;&amp;b!=c||x+y&lt;=3是什么意思

1、!a&lt;b 就是判断!a与b的大小,a是布尔类型的,将a转化成数值型和b比较,若!a大于b则表达式为true,否则表达式为false 2、b!=c 就是判断b与c的值是否相等,若相等表达式为false,否则表达式为true 3、 x+y&lt;=3 判断x+y与3的值的大小,若x+y&lt;=3则表达式为true,否则为false 这个bool...

C语言中“=&gt;”的意思是什么?

C语言中“=&gt;”的意思:lambda表达式,表示一个匿名函数,=&gt;前面的是参数,后面的是函数体。你可以把它当作一个函数。举例说明:Func&lt;int, int, int&gt; Add = (x, y) =&gt; x + y;Console.WriteLine(Add(2, 3)); // 5

C++中&gt;&gt;是什么意思

“!=”:运算符,不等于的意思;“--”:运算符,表示一减一;“++”:运算符,表示一增一;“:”:分隔符,指明标号语句;“::”:语言的作用域运算符,当局部变量与全局变量同名时,在局部变量的作用域内,全局变量前面使用该运算符。“;”:分隔符,终止一条语句。“%“:运算符,模除...

amp中文是什么意思 amp在视光中是什么意思 医学中amp是什么意思 生物中amp是什么意思 camp什么意思 amp是什么意思 &amp;lt; &lt;&amp;gt &amp;quot;
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
波浪号“~”的英文符号是什么? 特殊符号"●"是什么符号啊? 请教请教,各位老司机? 请问各位老司机迈凯? 出了个小事故,请教各位老司机? 小白请教各位老司机们个问题? 各位老司机请教下,第二年车险去哪买合适? 各位老司机,我想请教一些关于提车时的问题。? 请问下老司机有没有必要报保险? 请教买保险事宜,各位老司机指点一下。? 形容冲动的四字词语 血糖高 不能喝那些饮料 最好喝什么 可以降低血糖 血糖高能喝碳酸饮料吗,要吃什么蔬菜跟水果 弹弹岛2修改钻石教程 武汉现代天外天小镇金融湾开发商是哪家公司? 湖北省林贸建设股份有限公司邯郸分公司怎么样? 下列物质中既不能使酸性KMnO4溶液褪色,也不能使溴的CCl4溶液褪色的是A... 四川省简阳市地区纠正牙齿多少钱 现在好像很多小孩子都在箍牙,这个大概什么时候做合适呢?雷氏牙科可以做... aib0.7SOD的保质期过期能用吗 参加商业模拟大赛,获全国一等奖。用英语怎么说 我曾获得全国中学生作文一等奖'用英语怎么说 进老君山可以用电子身份证吗? 《隔花人远天涯近》txt全集下载 为什么干红酒放得时间越长越好? 为什么酒越放口感越好? 湖南天海电器有限公司工作主要干嘛 对警察局的简单介绍 深圳禁食猫狗 下巴长红痘是梅毒吗 C语言“ &amp;= |= ”是什么意思? 宝宝辅食首选:米粉喂养全攻略 7个月宝宝吃多少米粉 兰州到敦煌的火车上可以看风景吗 我准备从兰州出发,到敦煌、崆峒山、嘉峪关去游玩,有没人能帮我排了路... ...DNA是小于10的2次方,那么他的汗液和唾液有病毒吗 吉天仪器原子荧光光度计已保存数据怎么重新测量 珠海高新区云海幼儿园怎么样 供应家用瓶装液化石油气调压器拜托各位了 3Q 请问有超美牌家用瓶装液化石油气防爆型调压器 ,这个牌子吗?有产品责任... 燃气热水器减压阀什么牌子好 减压阀如何选择 为何日本人都喜欢喝冰水? 苟,是个什么字 博山最贵的小区 最近嗜睡,到底是什么原因造成的呢? 美国律师资格考试MPRE详情介绍 何为情?何为爱?何为相思?何为心痛? 西瓜酱怎么制作? xlc一ll一2000a三相五线母线槽的零线和接地线是否同相线一样大_百度...