在线等程序的执行结果下面代码的执行结果是什么:unsignedcharoutputbyteunsignedcharmaskoutputbyte0m
在线等程序的执行结果
下面代码的执行结果是什么:
unsigned char outputbyte;
unsigned char mask;
outputbyte = 0;
mask = 0x80;
outputbyte |= mask; // 这句结束后outputbyte = 0x80?
outputbyte > > = 1; // 这句执行后outputbyte的结果是什么?
[解决办法]
是
1000 0000
0100 0000
0x40
[解决办法]
0x80 二进制是 10000000
outputbyte = 0;
mask = 0x80;
outputbyte |= mask; // outputbyte 还是0x80
outputbyte > > = 1; // outputbyte右移一位变成01000000 即 0x40
[解决办法]
[解决办法]
感觉outputbyte |= mask;的目的就是把左起第八位置1
你这段代码干嘛用的
联系?
[解决办法]
unsigned char outputbyte;
unsigned char mask;
outputbyte = 0;
mask = 0x80;
outputbyte |= mask; // 00000000 和 10000000 执行|操作肯定是10000000拉
outputbyte > > = 1; // 你可以把>>1理解成除以2,因为二进制。 所以0x40
[解决办法]
0x80和0x40。
[解决办法]
