分享
三行代码  ›  专栏  ›  技术社区  ›  stanleyli

为什么在计算值时双方程不起作用?

  •  1
  • stanleyli  · 技术社区  · 1 周前

    我想知道为什么这不起作用:

    $ echo "$((256 & 0xff != 0))"
    0
    $ echo "$((256 & 0xff == 0))"
    0
    

    但这似乎奏效了:

    $ echo "$((4 & 0xff))"
    4
    
    1 回复  |  直到 1 周前
        1
  •  1
  •   John Kugelman    1 周前

    == 有更高的 precedence & . 添加括号:

    $ echo "$(((256 & 0xff) != 0))"
    0
    $ echo "$(((256 & 0xff) == 0))"
    1