c=a^b<<2在c语言中什么意思?如果a=3,b=6

作者&投稿:郦净 (若有异议请与网页底部的电邮联系)
char a=3,b=6,c;c=a^b<<2; C的二进制值是什么~

首先运算符优先级 左移<< 比 异或^ 高,所以c=a^(b<<2)
先执行b左移2位操作,b的二进制为110,左移两位11000
然后执行异或操作(同一个位置的二进制不同取1,相同取0),a的二进制为 011,所以011^11000= 00011^11000 = 11011
所以答案是11011

首先要知道异或运算^相对位置异或1^1 = 0;1^0=1;0^0=0;0^1=1
知道了这个之后分别用二进制表示出3和6,分别为011和110,异或的101
<<是左移的意思<<2意思是左移两位,既得10100,八进制即为024

^按位异或运算符,相应位相同,则结果为0,否则为1

<<左移运算符,优先级高于^

c=a^b<<2=a^(b<<2)
b=6,b<<2=24  (左移一位相当于乘2)
    a=3=00000011 B
b<<2=24=00011000 B
^=----------------
        00011011 B = 27 (D)

   



a和b先做异或运算,然后把结果左移2位。


c语言a=a^b; b=a^b; a=a^b 是啥意思啊??
位运算是C语言的一大特色,利用异或运算可以实现交换两个数,原理是一个整数与另外一个数进行两次异或运算仍然是其本身,基本原理用式子表达如下:(1) A ^ A = 0;(2) A = A ^B;(3) B = A ^B;(相当于B = A ^ B ^ B ,即 B = A)(4) A= A ^ B;(相当于A = A ^B ^A ,...

C语言的a=a^b;什么意思啊
a和b按位做异或,然后将结果赋值给a

c程序中a= a ^ b;什么意思
^ 是按位与的意思 比如二进制 a = 1010 b = 1100 按位与后就得到 1000

a=a^b,b=a^b,a=a^b就可以进行两个数的交换,向这样的技巧还有哪些啊_百 ...
a=a+b b=a-b a=a-b 用乘除的类似 a=a*b b=a\/b a=a\/b 不过 不管哪种都是有缺陷的. 知道就好 实际上没必要真用.用加减乘除的 有可能出现溢出.用异或的, 当a b为相同单位时, 会出错.

A = A ^ B;\/\/ 执行变量互换 B = B ^ A; A = A ^ B; 这个是怎么做到互换...
按位取反啊,比如 a=10011,b=11100,a= a^b = 01111,b= b^a=10011 , a= a^b=11100,完成了,如果a有7位,b只有4位,那么在b前面加000再执行按位取反。

c语言小问题,c=a^b,请问这里的^是什么意思
c=a^b是将a和b的二进制数按位进行异或运算(即数位相异为1,相同为0), 也就是说c是一个二进制数;如果是计算次方的话就要用:c=pow(a,b);

如果c = a^b,那么是不是b = c^a 和a = b^c呢,请大神指点
如果^是指异或运算,那就是。c是a、b异或运算后的结果,c的每一位表示a、b在此为上的异同情况,0表示相同、1表示相异。在异或运算中,0、1和0中任何一个的结果都是原来的数,而0、1与1的结果都不是原来的数,由此可以得出c = a^b时,b = c^a 、a = b^c ...

不用中间变量交换 a ,b(三种方法)
不用中间变量交换两个变量的值:1、加减法:该方法可以交换整型和浮点型数值的变量,但在处理浮点型的时候有可能出现精度的损失。a = a + b;b = a - b;a = a - b;2、异或法:可以完成对整型变量的交换,对于浮点型变量它无法完成交换。a = a^b;b = a^b;a = a^b;3、乘除法:可以...

^= 这个运算符是什么意思??
^是位操作符,A^B代表A和B按位异或。A^=B;等同于语句:A=A^B;所谓异或,是指对应的二进制相异则得1,相同则得0.以上为例:A=01001010 B=11101001 则 A^=B; 即 A=A^B;的结果是,A的值改变:A=10100011

若有以下程序: int a=1,b=2: a=a^b: b=b^a: 则执行以上语句后a和b的...
【答案】:B 本题考查按位异或的用法。按位异或运算的规则是:两个运算数的相应二进制位相同,则结果为0,相异则结果为1。b=2的二进制为00000010,a=1的二进制为00000001,a=a^b=00000011,转化为十进制后为3,b =b^a=00000010-00000011=00000001,即1。

扶绥县15981609910: C语言c=(a^b)<<2什么意思 -
东生宜妥: C等a异或b,再左移2位.a和b间按位异或,相异为1,结果左移2位,相当于乘4.

扶绥县15981609910: c=a^b<<2在c语言中什么意思?如果a=3,b=6 -
东生宜妥: ^按位异或运算符,相应位相同,则结果为0,否则为1c=a^bb=6,b a=3=00000011 B b^=---------------- 00011011 B = 27 (D)

扶绥县15981609910: c语言 c=a^(b<<2)这个c=?详细点 谢谢 -
东生宜妥: 你没有给出a、b、c的具体值,所以只能给你一个计算步骤 首先,b左移2位,相当于b乘以4 接着,将b左移2位得到的值和a进行异或运算,也就是将两个值化成二进制,按位运算,如果同一位上的值相等(均为1或0),则结果为0,如果同一位上的值不等,则结果为1,例如1011^1111的结果为0100

扶绥县15981609910: c语言中a=a^b;这个语句是怎么计算的,举个例子说明 -
东生宜妥: 参与运算的两个值,如果两个相应位相同,则结果为0,否则为1.即:0^0=0, 1^0=1, 0^1=1, 1^1=0 例如:10100001^00010001=10110000 0^0=0,0^1=1 0异或任何数=任何数 1^0=1,1^1=0 1异或任何数-任何数取反 任何数异或自己=把自己置0 (1)...

扶绥县15981609910: c语言中符号&,|,^是什么意思?例如x=a&b,x=a|b,x=a^b分别是什么意思? -
东生宜妥: &与,|或,^异或 这些运算都是二进制运算 例:a=7 , b=10 x=a&b = 2(bit0111&bit1010 = bit0010 ); x=a|b = 15(bit0111|bit1010 = bit1111 ); x=a^b = 13(bit0111^bit1010 = bit1101 );

扶绥县15981609910: c语言中,a^b是什么意思?
东生宜妥: 按位异或, 例如 #include&lt;stdio.h&gt; int main() { int a=10,b=2; int c = a^b; printf("%d",c); getch(); return 0; } 输出结果是8; 1010//10 0010//2 ——^ 1000//8

扶绥县15981609910: C语言 ^ 是什么 -
东生宜妥: 异或 c=9

扶绥县15981609910: C语言中 &和^是怎么回事? -
东生宜妥: C语言中^与&都是位运算符,^是按位或运算,&是按位和运算.要知道,在计算机实际进行运算时,是把用户输入的数据转化成2进制进行运算的.比如1就会转化为00000001 而2会转化为00000010 ,那么a^b就相当于对这两个二进制数字中每一位都对应进行或运算.例如 00000001和00000010或运算时,两个数每一位只要有一个是1就是1,只有都为0时才为0, 因此结果为00000011 ,而这个结果与c进行位的和运算,即:对应位都为1才是1,否则为0 因此,00000011与3的二进制数00000011的和运算结果为00000011 在输出的时候计算机把二进制数转化为%d所表示的十进制数,即3输出

扶绥县15981609910: A丨B在C语言里是什么意思 -
东生宜妥: 2.按位或运算(|) 按位或是对两个运算量相应的位进行逻辑或操作,其运算规则与逻辑或"||"相同. 按位或表达式:c=a|b a: 1010,1001,0101,0111 | b: 0110,0000,1111,1011 c: 1110,1001,1111,11111.按位与运算 (&) 按位与是对两...

扶绥县15981609910: 设有语句int a=3,b=6,c,c=a^b<<c,求c -
东生宜妥: 1和1 对于!(a+b)+c-1&&b+c/2 ,&&前后接两个表达式,一个是!(a+b)+c-1,另一个是b+c/2 ,第一个表达式结果为c-1即2(因为(a+b)非0,故!(a+b)结果为0),第二个表达式结果为6,所以这两个表达式均为非零,所以它们进行...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网