0x01是数字,十六进制的数字。其结果等效于1。在数学上就是1,只不过在计算机上用2进制和十六进制较多,所以用十六进制表示。
if (i&0x01) printf("奇数\n"); else printf("偶数\n"); system ("pause"); .
0x01代表十六进制数也就是十进制数的01,& 是把这些数转化为二进制数 然后进行按位与运算 info >> (len-i-1)中的>>表示向右移位,移动的位数为(len-i-1)
如题 求详细说明。 本人太菜,明者勿怪
表示方法不一样`````````
#include int main() { int i=0x01; int j=0x1; printf("i=%d\n",i); printf("j=%d\n",j); return 0; } 这是测试程序 打印的结果i j是相等的 说明两者相等
这里有两个位运算符所以:p1在将结果和1按位或 相当于p1 = p1*2+1; 因为p1*2得到的数值的二进制形式,最后一位一定是0,这一位和1相或,相当于+1
P1 |=0x01是什么意思?还有左移和循环左移的区别?例如1111111左移和循。
P1 |=0x01的意思是按位赋值,相当于按位与一样,就是给P1.0赋值1,其他的都为0,比如P1 |=0xfe,意思就是P1.0为0,其余的都为1ÿ