C语言 位运算 与 运算符优先级

C语言 位运算 与 运算符优先级一、位运算(|&^~)运算符 描述 实例 & 按位与操作,按二进制位进行”与”运算。运算规则: 0&0=0;0&1=0;1&0=0;1&1=1; (A&B)将得到12,即为00001100 | 按位或运算符,按二进制位进行”或”运算。运算规则: 0|0=0;0|1=1;1|0=1;1|1=1;.

大家好,欢迎来到IT知识分享网。C语言

一、位运算(| & ^ ~)

这里我让A = 11 1100  ,B = 1101

运算符 描述 实例
&

按位与操作,按二进制位进行”与”运算。运算规则:

0&0=0;   
0&1=0;    
1&0=0;     
1&1=1;
(A & B) 将得到 12,即为 0000 1100
|

按位或运算符,按二进制位进行”或”运算。运算规则:

0|0=0;   
0|1=1;   
1|0=1;    
1|1=1;
(A | B) 将得到 61,即为 0011 1101
^

异或运算符,按二进制位进行”异或”运算。运算规则:

0^0=0;   
0^1=1;   
1^0=1;  
1^1=0;
(A ^ B) 将得到 49,即为 0011 0001
~

取反运算符,按二进制位进行”取反”运算。运算规则:

~1=-2;   
~0=-1;
(~A ) 将得到 -61,即为 1100 0011,一个有符号二进制数的补码形式。
<< 二进制左移运算符。将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。 A << 2 将得到 240,即为 1111 0000
>> 二进制右移运算符。将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。 A >> 2 将得到 15,即为 0000 1111

二、运算符优先级

类别  运算符  结合性 
后缀  () [] -> . ++ – –   从左到右 
一元  + – ! ~ ++ – – (type)* & sizeof  从右到左 
乘除  * / %  从左到右 
加减  + –  从左到右 
移位  << >>  从左到右 
关系  < <= > >=  从左到右 
相等  == !=  从左到右 
位与 AND  从左到右 
位异或 XOR  从左到右 
位或 OR  从左到右 
逻辑与 AND  &&  从左到右 
逻辑或 OR  ||  从左到右 
条件  ?:  从右到左 
赋值  = += -= *= /= %=>>= <<= &= ^= |=  从右到左 
逗号  从左到右 

逗号运算符:可以把多个表达式用逗号联接起来(或者说,把这些表达式用逗号分开),构成一个更大的表达式。其中的逗号称为逗号运算符,所构成的表达式称为逗号表达式。逗号表达式中用逗号分开的表达式分别求值,以最后一个表达式的值作为整个表达式的值。) 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/21645.html

(0)
上一篇 2024-01-16 11:45
下一篇 2024-01-18 07:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信