记学习Java位运算

Java-位运算符

  1. “按位与”运算
    “按位与”运算符的运算符号位 “&”,为双目运算符,其运算法则是:如果两个整型数据a,b对应位都是1,则结果位才是1,否则为0.如下
    整数5的二进制为:00000000 00000000 00000000 00000101
    整数4的二进制为:00000000 00000000 00000000 00000100
    5&4结果为:00000000 00000000 00000000 00000100 也就等于十进制中的4.

  2. “按位或”运算
    “按位或”运算符的运算符位“|”,为双目运算,其运算法则是:如果两个操作数的对应位都是0,则结果才是0,否则为1.如下
    整数3的二进制为:00000000 00000000 00000000 00000011
    整数6的二进制为:00000000 00000000 00000000 00000110
    3|6的结果为:00000000 00000000 00000000 00000111,十进制表示7

  3. “按位取反”运算
    “按位取反”运算也称“按位非”运算,运算符为“~”。其法则是:将操作数二进制中的1改为0,0改为1.

  4. “按位异或”
    “按位异或”运算的运算符位“^”,为双目运算符,其法则是:当两个操作数的二进制表示相同(同时为0或同时为1)时,结果为0,否则为1.

  5. 移位操作(适用的数据类型有byte、short、char、int、long)
    (1):<< 左移:将左边的操作数在内存中的二进制数据左移右操作数指定的位数,左边移空的部分补0.
    (2):>>右移:如果最高位是0,左移空的位就填入0;最高位是1,右移空的位就填入1.

猜你喜欢

转载自blog.csdn.net/weixin_39998155/article/details/90795974