Bashで16進数,10進数,8進数,2進数で四則演算 †シェルである bash を使って、16進数(HEX),10進数,8進数(OCT),2進数(BIN)の四則演算をする方法を紹介します。 Bashで四則演算 †Bashで足し算・引き算・割り算・掛け算をしたい場合は、以下の構文になります。
実行例 †四則演算の実行例です。 $ echo $((20+10)) 30 $ echo $((20-10)) 10 $ echo $((20*10)) 200 $ echo $((20/10)) 2 16進数(HEX),8進数(OCT),2進数(BIN)の四則演算 †16進数(HEX),8進数(OCT),2進数(BIN)を指定する場合、以下のように値を記述します。
16進数の計算をしてみる †実際に16進数で計算してみます。 $ echo $((0x10+0x20)) 48 echo $((16#10+16#20)) 48 計算結果を16進数,8進数で表示する †計算結果が10進数で表示されてしまいます。 echo $((16#10+16#20)) | xargs printf '%x\n' 30 $ echo $((16#10+16#20)) | xargs printf '%o\n' 60 xargsで計算結果をprintfに渡しています。 2進数、8進数の計算をしてみる †以下は、2進数と8進数の計算を実際に実行した時の出力になります。 $ echo $((2#1+2#10)) 3 $ echo $((8#1+8#7)) | xargs printf '%o\n' 進数変換 †進数変換は、上記で使った printf を使えば簡単にできるでしょう。 printf '%x\n' 255 ff $ printf '%o\n' 511 777 以上、bashで簡単に四則演算をする方法でした。 |