c语言中int a=1,b=3;a^b的值是? 为什么是2
来源:百度知道 编辑:UC知道 时间:2024/06/03 19:18:34
a,b在计算机中的二进制表示是
a=00000001
b=00000011
(实际上int型是4字节32位,这里方便书写和理解,只写了一个字节8位)
然后执行异或运算,就是对应位上不同结果才为1
所以
a^b=00000010
转化为十进制就是2
转为二进制 问题就很明晰了
a=0001^ b=0011 就是 0010 位异或 只有一个为真时才为真 所以是2咯
如果是位或 则是 0011 3
如果是位与 则是 0001 1
没试过,应该是1吧,
刚试了,真的是2```
C语言中 int a=9,b=5; 那么表达式b=(a=4)/(b=a)的值为什么是1?
C语言中 指针int *a=10;和int *a; *a=10;的区别
C语言中为什么int a=-1 printf("%o",a)等于177777
c语言int *p=a解释
C语言执行一下程序K的结果是多少?int k=0,a=1,b=2,c-3;k=ac ? c:k;
int a=3,b=4,b=5; !(++c-1&&b+c/2)等于什么?为什么?谢谢
已知int a=1;int b;b=(++a)+(++a)+(++a);为什么b=10?
C语言中 b=a&&(-1); 是什么意思啊
C++中,float a;int b,c;咋样才能使a=b/c的结果显示为小数
在c语言中 若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是?