C语言中"&1"这个表述是什么意思

C语言中"&1"这个表述是什么意思?谢谢

我想之前应该还有东西

单纯的&1是没有意义的 而且是非法的

但是一个变量 a&1 是合法的 代表的意思是a和1做二进制的且运算 即看a的最后边那一位是不是1

是1的话 返回1 否则返回0追问

那是不是就是判断奇偶呢?等效于a%2==0/1,那两种写法有什么区别?谢谢

追答

是的 两者目的一样 但是a%2的效率要低一些 没有&运算快

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-03-15
if(a%2 == 1)与if(a&1 == 1)结果是等价的
求模运算是运算符中较为耗时的一类,用位运算代替模2操作可以大大提高该语句执行效率
同样的,也可以用 a >>= 1;代替a /= 2;

C语言x&1什么意思
"&"是"与运算"的意思,1&1=1,其他情况(1&0,0&1,0&0)都=0.从逻辑的角度来讲,这个命令就是取x的最左边一位.例如x是0011,x&1得到0001,如果x是0110,x&1得到0000.

c51中&(1<<0)是什么意思?
在C语言中,& 是位运算中的“按位与”操作符,而 (1<<0) 表示将数字 1 左移 0 位,即不移动,仍然是数字 1。将它们结合在一起,&(1<<0) 表示对数字 1 进行按位与操作。按位与操作是指对两个二进制数的对应位进行逻辑与运算。在这个特定的情况下,由于 (1<<0) 的结果是 1,所以将...

&在c语言中什么意思,1&1=
意思是:将1的二进制名代码向左移20位;1&1=i。C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计...

c语言中&是啥意思
单独的一个&表示取地址,比如&i,意思就是取得变量i的内存地址。还有就是,位运算中的“与”操作,1&1=1,1&1=0,1&0=0 两个&的意思是逻辑判断中的“与”。

C语言中0.5&1为什么等于1呢
&是与的意思,属于逻辑运算,其结果只有真(用1表示)和假(用0表示),0.5&1,对于逻辑运算来说,是两个非零数的与运算,其结果为真,用1表示

C语言中if(k & 1)是什么意思
如果为真,则为奇数,为假则为偶数。解释:&符号代表 按位与,1的二进制最后一位为1,其余为零。如果一个数为奇数,那么最后一位必为1,其余位必为0,所以得出结果为1。如果是偶数的话,最后一位必然为0,其余位与0与运算必为0,所以结果为0,这样就可以起到判断奇数偶数的效果。

C语言中的if(n&1)是什么意思?(其中n是int类型)
&是位与操作符,n&1,不是将n的二进制形式与00000000 00000001按位做与操作。这时,只要n的最右边一位是1,结果就不是0,为true,条件成立。所以这句话实际上就是if(n%2==1)

C语言if(i&1==1)问题
0010 &1 得0 偶数 3 0000 0011 &1 得1 奇数 4 0000 0100 &1 得0 偶数 if((i&1)==1){} 和 if(i& (1==1) ){} 的结果 一样,表示 如果是 奇数 则执行 {}. 因为 1==1 得 真,真就是 1,然后 i & 1, i奇数得1,i偶数得0。所以 i奇数 执行 {}....

C语言中 & 指代什么?有什么作用?
2 & 按位与 表达式&表达式 左到右 双目运算符 3 && 逻辑与 表达式&&表达式 左到右 双目运算符 4 &= 按位与后赋值 变量&=表达式 &(与)的真值表:1 1--->1;1 0--->0;0 1--->0;0 0--->0;...

c语言中为啥x&&1等效于x!=0,请详尽解答
x&&1其实是先判断x,若x非0,在判断1,1非0,所以x&&1判断结果为真,若x为0,则&&后面无需判断,x&&1判断结果为假。所以等效于x!=0;个人认为在if语句中直接判断if(x)机会足够了

相似回答