c语言中printf(””,3&&2&5);右边的那个是什么意思?
发布网友
发布时间:2024-10-15 19:08
我来回答
共3个回答
热心网友
时间:2024-11-06 01:09
&&符号表判断,当左右都不为零时,答案取1;
&为按位运算;2 的2进制表示为00000010
5的二进制表示为00000101
只有当同对应的二进位同时为1时,运算结果相应的二进位才取1,否则取0;故
很明显2&5=0;
而3&&0很显然为0;
热心网友
时间:2024-11-06 01:14
&&逻辑与,结果只有0或是1
&按位与,结果是两个数按位与的,比如二进制数10和101按位与,结果会为0
谭老在最前面的部分讲解的
热心网友
时间:2024-11-06 01:09
&是按位与运算,它的规则是:1&1=1 1&0=0 0&0=0,比如2&3,2变成二进制是0000 0010,3变成二进制是0000 0011。两者按位与就是0000 0010,换回来是2.
&&是逻辑与运算,如果运算符左右两边的值都为真,则表达式的值就为真,否则为假。左值和右值非0为真,0为假。表达式真则为1,假则为0.
&优先级比&&高,所以先算&,2&5则是0010&0101=0000,结果为0;之后算&&,3&&0为假,则是0