bashでビット演算(AND XOR OR)

  • $((算術式))と書くと・・・
    →中の数値を計算できる。
    →変数名は$を書かなくても展開される。
  • 2#値と書くと2進数表示
  • 0x値もしくは16#値と書くと16進数表示
  • 10#値と書くと10進数表示

AND

変数aと変数bのAND演算(論理積)。

$((a & b))

 

変数cは12(10進数)になる。

$ a=0xBF #10111111
$ b=0x0c #00001100
$ c=$((a & b))
$ echo $c
12  #00001100

XOR

変数aと変数bのXOR演算(排他的論理和)ができる。

$((a ^ b))

 

変数cは179(10進数)になる。

$ a=0xBF #10111111
$ b=0x0c #00001100
$ c=$((a ^ b))
$ echo $c
179  #10111111

OR

変数aと変数bのOR演算(論理和)ができる。

$((a | b))

 

変数cは191(10進数)になる。

$ a=0xBF #10111111
$ b=0x0c #00001100
$ c=$((a | b))
$ echo $c
191 #10111111

 

おわり

Linux
スポンサーリンク
この記事を書いた人
penpen

1991生まれ。WEBエンジニア。

技術スタック:TypeScript/Next.js/Express/Docker/AWS

フォローする
フォローする

コメント

タイトルとURLをコピーしました