按位与运算
28.设有说明:unsignedx=0x1234;下面表达式(1)、(2)的运算结果的十六进制值是什么?(1)(x&0xff00)>>8|(x&0xff)<<8(2)x&0xff00>>8|x&0xff<<8x&0 的二进制是0001001000110100;ff的二进制是11111111;位数不一样,怎么办,是在高位补0,还是低位补0?谢谢。
你对进制的理解不深刻 如果你计算十进制:1234+12是怎么做的?是不是低位对齐,相当于高位补0?十六进制依然 (1)(x&0xff00)>>8|(x&0xff)>8)|((0x34)>8|x&0xff<<8 = 0x1234 & 0xff | 0x1234 & 0xff00 = 0x34|0x1200=0x1234
答:你没有记错,||的确有一个满足1就成立 &&:逻辑与,有0则为0 0&&0 = 0 1&&0 = 0 0&&1 = 0 1&&1 = 1 ||:逻辑或,有1就为...详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>