如何理解 unsigned char mask = 1 << (i - 1)
怎么理解 unsigned char mask 1 (i - 1)for(i8i0i--){mask 1 (i - 1)//不理解 这个意思……
怎么理解 unsigned char mask = 1 << (i - 1);
for(i=8;i>0;i--)
{
mask = 1 << (i - 1); //不理解 这个意思
……
}
怎么理解?
[解决办法]
第1次循环:mask的第7位置1,即为0x80,10000000b
第2次循环:mask的第6位置1,即为0x40,01000000b
第3次循环:mask的第5位置1,即为0x20,00100000b
第4次循环:mask的第4位置1,即为0x10,00010000b
第5次循环:mask的第3位置1,即为0x08,00001000b
第6次循环:mask的第2位置1,即为0x04,00000100b
第7次循环:mask的第1位置1,即为0x02,00000010b
第8次循环:mask的第0位置1,即为0x01,00000001b
[解决办法]
[解决办法][解决办法]第1次循环:mask的值左移7位
第2次循环:mask的值左移6位
第3次循环:mask的值左移5位
第4次循环:mask的值左移4位
第5次循环:mask的值左移3位
第6次循环:mask的值左移2位
第7次循环:mask的值左移1位
第8次循环:mask的值左移0位
[解决办法]<<是左移位符,i-1表示移位次数,楼上上面说的都对。
[解决办法]嗯, 每次循环 mask 8位中的1位为"1", 用于...中的操作.