ホームページ  >  記事  >  ウェブフロントエンド  >  指定された数値が 2 の累乗であるかどうかを確認する JavaScript プログラム

指定された数値が 2 の累乗であるかどうかを確認する JavaScript プログラム

王林
王林転載
2023-09-07 19:13:021204ブラウズ

JavaScript 程序检查给定数字是否是 2 的幂

指定された数値が 2 だけを乗算して生成される場合、その数値は 2 の累乗になります。このチュートリアルでは、指定された数値が 2 の累乗であるかどうかを確認する方法を学習します。ここでは、指定された数値が 2 のべき乗であるかどうかを確認する 5 つの異なる方法を見ていきます。

Math.pow() メソッドを使用する

JavaScript では、数値には最大 64 ビットを含めることができます。したがって、for ループと Math.pow() メソッドを使用して、2 の 1 の 64 乗を見つけることができます。 for ループでは、2 の i 乗を数値と比較できます。数値に一致する場合は true を返し、そうでない場合はループの終了時に false を返します。

###文法###

ユーザーは、次の構文に従って for ループと Math.pow() メソッドを使用して、数値が 2 で割り切れるかどうかを確認できます。

リーリー ###アルゴリズム###

ステップ 1
    - for ループを使用して、数値 i=1 から i=64 を繰り返します。
  • ステップ 2
  • - for ループで Math.pow() メソッドを使用して、2 の i 乗を取得します。
  • ステップ 3
  • - 2 の i 乗を数値と比較します。一致するものがあれば true を返します。
  • ステップ 4
  • - true を返さずに for ループが終了した場合は、false を返します。
  • 例 1

  • 次の例では、上記のメソッドを使用して、指定された数値が 2 の累乗であるかどうかを確認します。出力では、checkPowOf2() 関数が、数値が累乗であるかどうかに基づいて true または false を返すことがわかります。
リーリー

Math.log() メソッドを使用する

数値の底を 2 とする対数を求めることができます。数値が整数の場合、2 の累乗になります。

###文法###

ユーザーは、次の構文に従って Math.log() メソッドを使用して、数値が 2 のべき乗であるかどうかを確認できます。

リーリー

例 2

次の例では、最初に数値の底 2 の対数を取得し、次に parseInt() メソッドを使用して対数から整数を抽出します。対数が一致する場合、関数は true を返します。

リーリー

セットされたビットを数えて決定します

数値が 2 の累乗の場合、セット ビットは 1 つだけ含まれます。したがって、数字の各桁を 1 つずつ確認できます。最初の設定ビットを取得したら、isSetBit を true に設定します。その後、再度ビットを設定すると、その数値は 2 のべき乗ではないと言えます。

###文法###

ユーザーは、以下の構文に従って、設定された桁数を計算することで、数値が 2 のべき乗であるかどうかを判断できます。

リーリー ###アルゴリズム###

ステップ 1

- 数値が 0 に等しくない場合は、while ループを使用して反復します。

ステップ 2
    - 「isSetBit」変数の値が true かどうかを確認し、エラーを返します。
  • ステップ 3
  • - isSetBit 変数の値が false で、現在のビットがセット ビットの場合は、isSetBit 変数の値を true に変更します。
  • ステップ 4
  • - 数値を 1 ずつ右に移動します。
  • 例 3

    以下の例では、while ループを使用して数値を反復処理し、数値の各桁をチェックします。数値の 2 番目に設定されたビットを取得すると、false を返します。
  • リーリー

    「&」演算子を使用します 数値が 2 の累乗の場合、左端のビットには 1 のみが含まれます。 2 の累乗から 1 を引くと、数値の左端のビットには 0 が含まれ、他のビットには 1 が含まれます。したがって、n と n-1 の間で「&」演算を実行すると、2 の累乗に等しいすべての数値に対して常に 0 が返されます。

    ###文法###
  • ユーザーは、次の構文に従って「&」演算子を使用して、指定された数値が 2 のべき乗であるかどうかを確認できます。
リーリー

例 4

次の例では、最初に if ステートメント内の数値がゼロでないかどうかを確認します。次に、「n & n-1」が 0 に等しいかどうかをチェックして、数値が 2 のべき乗であるかどうかを確認します。

ああああ

以上が指定された数値が 2 の累乗であるかどうかを確認する JavaScript プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。