JavaScriptのビット演算を使用して2の累乗をチェック
数値を取り込んで2の累乗かどうかを判断するJavaScript関数を作成する必要があります。
例-
f(23) = false f(16) = true f(1) = true f(1024) = true
アプローチ-
バイナリ形式の2の累乗には、常に1ビットしかありません。このように-
1: 0001 2: 0010 4: 0100 8: 1000
したがって、数値がゼロより大きいことを確認した後、ビット単位のハックを使用して、1ビットのみが設定されていることをテストできます。同じことが以下に示されています-
num & (num - 1)
例
以下はコードです-
const num1 = 256; const num2 = 1024; const isPowerOfTwo = (num = 1) => { if (num < 1) { return false; }; return (num & (num - 1)) === 0; }; console.log(isPowerOfTwo(num1)); console.log(isPowerOfTwo(num2)); console.log(isPowerOfTwo(1)); console.log(isPowerOfTwo(23));
出力
以下はコンソールでの出力です-
true true true false
-
JavaScriptのインポートで「{}」を使用しますか?
以下は、javaScriptインポートで{}を使用するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>
-
ビット演算を使用した2による加算と乗算のCプログラム。
ビット演算子はビットを操作します(つまり、onオペランドのバイナリ値を操作します) オペレーター 説明 & ビットごとのAND | ビットごとのOR ^ ビット単位のXOR < 左シフト 右シフト - 1の補数 ビットごとのAND a b a&b 0 0 0 0 1 0 1 0 0 1 1 1 ビットごとのOR a b a | b 0 0 0 0 1 1 1 0