程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> ios關於位圖的編程-這段代碼什麼意思,幫忙看一下,盡量說清楚原理,特別是位移,謝謝!

ios關於位圖的編程-這段代碼什麼意思,幫忙看一下,盡量說清楚原理,特別是位移,謝謝!

編輯:編程解疑
這段代碼什麼意思,幫忙看一下,盡量說清楚原理,特別是位移,謝謝!

-(BOOL)stateAtRow:(NSUInteger)row column:(NSUInteger)column{

const char *bitmapBytes=[self.bitmap bytes];//bitmap預先在裡面存了一些字節
char rowByte=bitmapBytes[row];//????
char result=(1<<column)&rowByte;//這裡位移是什麼意思???
if (result!=0) {
    return YES;
}else{
    return NO;
}

}

最佳回答:


將1往左邊移動N位。
char result=(1<<column)&rowByte;
表示判斷rowByte第N位的byte是否是1.
int 1 表示成2進制是 00000000 00000000 00000000 00000001
1<<2,就變成 00000000 00000000 00000000 00000100
然後&rowByte,那麼如果rowByte的第3位是1,那麼返回00000000 00000000 00000000 00000100,如果是0,那麼返回0

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved