2 murphy838992535 murphy838992535 于 2016.03.03 13:24 提问

这段代码什么意思,帮忙看一下,尽量说清楚原理,特别是位移,谢谢!

-(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;
}

}

4个回答

broust
broust   2016.03.03 16:51
已采纳

将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

ravatar0423
ravatar0423   2016.03.03 21:19

假设bitmapBytes的数据如下:[a,b,c,d,e,f,g]
1. char rowByte=bitmapBytes[row]; --> 取出数组中的第'row'个字母
2. char result=(1<对取出的字母,查找该字母的二进制位第'column'位

u010933908
u010933908   2016.03.03 18:00

位移用比较简单的解释就是乘除的意思,左移一位是乘2,右移一位是除2,这个从二进制可以知道是为什么

u010933908
u010933908   2016.03.03 18:01

用位移是计算机底层进行计算的,所以效率相对比较高

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
帮忙看一下。谢谢!
server: 1  #include     2  #include     3  #include     4  #include     5  #include     6  #include     7  #include     8  #include     9  #include    10  #include    11  int main()    12  {    13 
精通ASP.NET 4.0网络编程:基础、框架与项目实战_源码
精通ASP.NET 4.0网络编程:基础、框架与项目实战_源码
NEC V850 MCU芯片资料
子系统时钟不能从目标系统输入。一个装入QB-V850ESSX2的 32.768 kHz 共振器用作时钟。 时钟频率不能改变。
note_ziliao
项目页面
web.xml
web.xml文件,请帮忙看一下,谢谢!!!!
NS2和OLSR安装包,以及TCL测试代码
资源包含NS2-2.35和OLSR1.0安装包以及相关的TCL测试代码,亲测有效。相关安装流程以及测试结果见本人原创博客。
POJ1830,01矩阵高斯消元
拿到这道题后,没啥思路,后来看了几份解题报告后,才发现这题用线性方程组来解,终于知道了线性代数在ACM的用武之地了。由于是中文题,题目解释略。直接说解题思路:设A矩阵是灯泡关系矩阵,A[[I][J]表明:对第J个灯实行一次操作后,第I个灯的状态也随之改变。B为结果矩阵,也就是灯的状态是否改变,改变为1,不变为0.这样AX=B求X即为题目中的解。本题求的是解的个数,有线性代数知识所得:当AX=B增广
关于浮点数计算的一注意点
½尽量用乘法或其它方法代替除法,特别是浮点运算中的除法。 说明:浮点运算除法要占用较多CPU资源。 示例:如下表达式运算可能要占较多CPU资源。 #define   PAI  3.1415926 radius =circle_length / (2 * PAI);   应如下把浮点除法改为浮点乘法。 #define PAI_RECIPROCAL     (1 / 3.1416
PIC系列单片机开发实例精解
PIC系列单片机开发实例精解
maven tomcat 服务器
顺得兄请帮忙看一下,顺得兄请帮忙看一下顺得兄请帮忙看一下顺得兄请帮忙看一下顺得兄请帮忙看一下顺得兄请帮忙看一下顺得兄请帮忙看一下顺得兄请帮忙看一下