c语言∧|&分别表示什么样的运算,麻烦告诉下,谢谢

作者&投稿:栾狗 (若有异议请与网页底部的电邮联系)
有关c语言的(2+x)∧(~3)是什么意思?运算结果是什么?~

2+x
对3 按位取反
然后一起按位异或
假设 x = 2
10 + 10 = (32-8个0)00000100(二进制)
~3 = ~11 = (32-8个1)11111100
(32-8个0))00000100 ^ (32-8个1)111111000 = ((32-8个1))11111000
楼主可以用0x%x打印看下结果0xfffffff8
这个就是-8的补码,所以结果是-8

<=是比较符号小于等于,不是赋值号
<<=:a<<=b;//等价于a=a<<b;<<是左移运算
&=:a&=b;//等价于a=a&b;&是按位与
^=:a^=b;//等价于a=a^b;^是按位异或
|=:a|=b;//等价于a=a|b;|是按位或

按位异或(把两个数转换成二进制,按位异或。即对应位相同则为0,相异则为1)
按位或(把两个数转换成二进制,按位相或。即对应位有1则为1,全0才是0)
按位与(把两个数转换成二进制,按位异或。即对应位有0则为0,全1则为1)

1、“按位与”运算符(&)
按位与是指:参加运算的两个数据,按二进制位进行“与”运算。如果两个相应的二进制位都为1,
则该位的结果值为1;否则为0。这里的1可以理解为逻辑中的true,0可以理解为逻辑中的false。按位与其
实与逻辑上“与”的运算规则一致。逻辑上的“与”,要求运算数全真,结果才为真。若,
A=true,B=true,则A∩B=true 例如:3&5 3的二进制编码是11(2)。(为了区分十进制和其他进制,本文规
定,凡是非十进制的数据均在数据后面加上括号,括号中注明其进制,二进制则标记为2)内存储存数据
的基本单位是字节(Byte),一个字节由8个位(bit)所组成。位是用以描述电脑数据量的最小单位。二
进制系统中,每个0或1就是一个位。将11(2)补足成一个字节,则是00000011(2)。5的二进制编码是
101(2),将其补足成一个字节,则是00000101(2)
按位与运算:
00000011(2)
&00000101(2)
00000001(2)
由此可知3&5=1
c语言代码:
#include <stdio.h>
main()
{
int a=3;
int b = 5;
printf("%d",a&b);
}
2、“按位或”运算符(|)
两个相应的二进制位中只要有一个为1,该位的结果值为1。借用逻辑学中或运算的话来说就是,一真为真

例如:60(8)|17(8),将八进制60与八进制17进行按位或运算。
00110000
|00001111
00111111
c语言源代码:
#include <stdio.h>
main()
{
int a=060;
int b = 017;
printf("%d",a|b);
}
应用:按位或运算常用来对一个数据的某些位定值为1。例如:如果想使一个数a的低4位改为1,则只需要
将a与17(8)进行按位或运算即可。
3、“异或”运算符(^)
他的规则是:若参加运算的两个二进制位值相同则为0,否则为1
即0∧0=0,0∧1=1,1∧0=1, 1∧1=0
例: 00111001
∧ 00101010
00010011
c语言源代码:
#include <stdio.h>
main()
{
int a=071;
int b = 052;
printf("%d",a^b);
}

C语言的按位与、或、非、异或都什么意思。有什么用
答:在计算机中,数据都是以二进制数形式存放的,位运算就是指对存储单元中二进制位的运算。C语言提供6种位运算符。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。位运算符 & |~<< >> ∧ 按优先级从高到低排列的顺序是:位运算...

C语言的按位与、或、非、异或都什么意思。有什么用
答:在计算机中,数据都是以二进制数形式存放的,位运算就是指对存储单元中二进制位的运算。C语言提供6种位运算符。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。位运算符 & |~<< >> ∧ 按优先级从高到低排列的顺序是:位运算...

关于位运算
答:∧、∨是数学(例如数理逻辑)中的二元逻辑运算符。前者是合取(逻辑与)运算,当且仅当两个运算数都为真时结果为真;后者是析取(逻辑或)运算,当且仅当两个运算数都为假时结果为假。在类C语言中,∧对应&&,∨对应||。当运算数只取0或1(或者表示为字面量false或true,有些语言如Java不允许...

C语言运算符优先级C语言
答:“ ∧ ”按位异或运算符。10级(左结合)“ | ”按位或运算符。11级(左结合)“&&”逻辑与运算符。12级(左结合)“ || ”逻辑或运算符。13级(右结合)? :条件运算符。14级(右结合)=、 +=、 -=、 *=、 /=、 %=、 &=、 ^=、 |=、 <<=、 >>=赋值运算符。15级(左结合...

c语言中如何输入间接运算符和乘号,包括如何转换
答:== ”等于运算符;“!= ”不等于运算符。8级(左结合)“& ”按位与运算符。9级(左结合)“∧ ”按位异或运算符。10级(左结合)“| ”按位或运算符。11级(左结合)“&&”逻辑与运算符。12级(左结合)“|| ”逻辑或运算符。13级(右结合)?:条件运算符。14级(右结合)=、+=、...

c语言中如何输入间接运算符和乘号,包括如何转换
答:== ”等于运算符;“!= ”不等于运算符。8级(左结合)“& ”按位与运算符。9级(左结合)“∧ ”按位异或运算符。10级(左结合)“| ”按位或运算符。11级(左结合)“&&”逻辑与运算符。12级(左结合)“|| ”逻辑或运算符。13级(右结合)?:条件运算符。14级(右结合)=、+=、...

C语言 ^什么意思
答:^表示异或,相同为0,相异为1 001 ^ 101 = 100

C语言运算符的优先级是如何规定的?
答:C语言中,运算符除了常见的三大类,算术运算符、关系运算符与逻辑运算符之外,还有一些用于完成特殊任务的运算符。运算符的运算优先级共分为15 级,1 级最高,15 级最低。 在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符 优先级相同时,则按运算符的结合性所规定...

C语言中¬、∨是什么意思?
答:这不是C语言中的,是逻辑运算,你是在NOIP题目中看到的吧 ¬是逻辑“非”的意思 ∨是逻辑“或”的意思 ∧是逻辑“与”的意思 运算规则 组合\结果\运算符...∧...∨ 0...0...0...0 1...0...0...1 0...1...0...1 1...1...1......

c语言位运算符的用法
答:C语言提供6种位运算符。 二、位运算 位运算符 & |~<< >> ∧ 按优先级从高到低排列的顺序是: 位运算符中求反运算“~“优先级最高,而左移和右移相同,居于第二,接下来的顺序是按位与 “&“、按位异或 “∧“和按位或 “|“。顺序为~ << >> & ∧ | 。 例1:左移运算符“<<”是双目运算...