偶数にする

説明

偶数にするにはビット処理を行うためのシフト演算を行い最下位の1ビットを0にします。シフト演算で処理する場合は「(n >> 1) << 1」となります。また、JavaScriptは32ビット演算を行っているため「n = n & 0xfffffffe」のように論理積(AND)を求めても同じ結果になります。シフト演算の場合、将来言語仕様が変更になり64ビットや128ビットになっても問題なく動作します。これに対して論理演算を行い論理積を求める方法では将来的に言語仕様が変更になった場合、値を変更する必要があります。

サンプルプログラム

var n = 123;
n = (n >> 1) << 1;
// n = n & 0xfffffffe;
document.write(n);
サンプルを実行
[戻る]