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", 用于...中的操作.