Files
Hui-s-notebook/logseq-java/pages/位运算符.md
2024-02-02 00:12:49 +08:00

875 B

  • & | ^
    • int a = 3 & 4 boolean b = true & false
    • 使用时可以放数值,也可以放布尔值
    • 位与运算&
      • 比较两个二进制数据的同位数,如果都为1,此位结果为1
    • 位或运算|
      • 比较两个二进制数据的同位数,如果任意为1,此位结果为1
    • 异或运算^
      • 比较两个二进制数据的同位数,如果相同为0,不同为1
  • 移位运算
    • 如何快速的把2变成32? #Java面试 id:: 62451ad0-4023-43ff-82ad-a114bfb9ac7f
      • 2 << 4
    • << 表示将二进制整体向左移动多少位 2<<3 --> 2*2^3 -->16 移动多少位就乘以2的多少平方
    • >> 考虑符号的位移,位移之后符号不变 表示将二进制整体向右移动多少位 移动多少位就除以2的多少次方
    • >>> 不考虑符号的位移
      • 当进行运算的是个负数,可能变成一个非常大的数