int myColor =0;
bool containsRed;
myColor = myColor / 2;
myColor = myColor / 4;
containsRed = {myColor & 4} ==4
为什么结果会是4呢  不解  是入门经典里63页的内容   说是“红色位”   不懂

解决方案 »

  1.   

    ni 这代码{myColor & 4}这个写法
      

  2.   

    位与运算。
    {myColor & 4} ==4  就是看myColor 的第2位是否为1
      

  3.   

    应该是这样的吧:containsRed = myColor & 4 ==4;位与运算,按位求与操作,1与1为1;1与0为0;0与0为0.
      

  4.   

    没看过这本书
    {}这个标示符在程序中不报错么?
    &:按位与运算
    containsRed 的值我感觉是false
      

  5.   


    我觉得你的最后一行代码要改成
    containsRed=(myColor & 4)==0;
    最后的结果是 false
    最后一行语句的意思就是 0&4 的值是不是4
    4的二进制为100 也就是 000 & 100 结果是不是100 
    很显然结果是000
      

  6.   

    是与运算,4的二进制是100啥,但是这个地方最后myColor的值为0,与运算怎么会为4了。确实不通
      

  7.   


    是这样:
    containsRed =(myColor &4) ==4;
    containsRed 赋值:(myColor &4) ==4