程序的执行结果

在线等程序的执行结果下面代码的执行结果是什么: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
[解决办法]

探讨
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。
[解决办法]
探讨
unsigned char outputbyte;
unsigned char mask;

outputbyte = 0;
mask = 0x80;

outputbyte |= mask; // 00000000 和 10000000 执行|操作肯定是10000000拉

outputbyte > > = 1; // 你可以把>>1理解成除以2,因为……