1. 程式人生 > >一種 bit 操作的應用

一種 bit 操作的應用

要構成一個黑白相間的棋盤,每個格子都是8x8的,如何利用bit操作來實現呢

可以想象從0開始的第3個bit位,每遞增8個數,都會在0和1之間切換,可以根據橫向索引和縱向索引在第3個bit的值得異或來確定黑或者白

void makeCheckImage(void)
{
   int i, j, c;
    
   for (i = 0; i < checkImageHeight; i++) {
      for (j = 0; j < checkImageWidth; j++) {
         c = ((((i&0x8)==0)^((j&0x8))==0))*255;
         checkImage[i][j][0] = (GLubyte) c;
         checkImage[i][j][1] = (GLubyte) c;
         checkImage[i][j][2] = (GLubyte) c;
      }
   }
}