シェルで数値を反転したい。私の数値には、1と0の2つの値しかありません。数値が1の場合は0に反転し、0の場合は1に反転します
それを行うためのより高速な操作は何ですか?
1) 操作 1: if ステートメントを使用する
if [ x -eq 1 ]; then
x=0
else
x=1
fi
2) 操作 2: ビット演算 (xor) を使用する
let x^=1
シェルで数値を反転したい。私の数値には、1と0の2つの値しかありません。数値が1の場合は0に反転し、0の場合は1に反転します
それを行うためのより高速な操作は何ですか?
1) 操作 1: if ステートメントを使用する
if [ x -eq 1 ]; then
x=0
else
x=1
fi
2) 操作 2: ビット演算 (xor) を使用する
let x^=1
シェルでプログラミングしている場合、確かに速度はあなたの主な関心事ではありませんか? 特に、このようなマイクロ最適化ではありません。
いずれにせよ、速度は使用するシェルとそのシェルの特定のバージョンに大きく依存します。タグはbashを示唆していますが、実際には言いません。
私ができる唯一のアドバイスは、テストして確認することです。これを 100 万回実行するベンチマークを自分で作成し、どれが最も速く実行されるかを調べてください。
次に、bash ですべてのテストが完了したら、dash を試してください。おそらく機能が豊富ではないにしても、より高速であると言われています。