最近在研究php位运算,本人高中毕业 数学基本除了加减乘除全部忘光。位运算 到底是操作2进制还是十进制? 哪位大哥能详细的解释下基础 去网上搜了很久 都是上来 就是一大堆 000000011111什么的 看了就晕了 二进制 我稍微懂点  就是  逢二进一  1 10 11 100  101  等等  其他就不太懂了  

解决方案 »

  1.   

    2进制位运算,顾名思义就是按“位”运算,这个位指的是二进制的数位可以直接写其他进制的数字甚至字符串,但都是自动转二进制(字符串按ASCII代码转换)再算的,算完再自动转回原来的形式,所以看上去“不是”二进制运算位运算的基础是二进制和逻辑运算,二进制就两个数字1和0,可分别看作“真”和“假”例如与运算&就是——真&真=真,真&假=假,假&真=假,假&假=假
    十进制7&4 就是 二进制111 & 二进制100,结果为4
    二进制  十进制
    111         7
    100         4
    因为两数二进制第一位(右对齐,第一位就是最右边)分别是1和0,&后=0,第二位也是这样=0,第三位是1和1,&后=1
    所以结果就是100,转十进制就是48&4就是——
    二进制   十进制
    1000        8
    0100        4
    因为没有一个对应位同时为1,所以得到0000,结果就是0(当然这里指的是十进制数0)或、非、异或的运算自己在看相关资料
      

  2.   

    说实话,php还真很少用到位运算。我貌似就是在做权限或访问控制的时候会用到这玩意,可以只用一个字段就能存储用户所拥有的权限和一次位运算就能知道此用户有什么权限。不过这属于计算机基础知识,学学也不错。
      

  3.   

    还是学学php其它比较广泛应用的技术