LoginSignup
0
0

8ビット2進数を10進数に変換するゲームの解説

Last updated at Posted at 2023-08-02

8ビット2進数を10進数に変換するゲームの解説

この記事では、Javaで作成された8ビット2進数を10進数に変換するゲームについて解説します。このゲームはランダムに生成される8ビットの2進数を10進数に変換し、ユーザーにその答えを入力してもらい、正解かどうかを判定するシンプルなゲームです。
基本情報技術者を勉強の合間につくりました。

プログラムの概要

  1. ランダムな8ビットの2進数を生成し表示する。
  2. 8ビットの2進数を10進数に変換する。
  3. ユーザーに10進数を入力してもらう。
  4. ユーザーの入力と正解を比較し、結果を表示する。

ゲームのコードの解説

  1. ランダムな8ビットの2進数を生成し表示する

    int[] binary_bits = new int[8];
    for (int i = 0; i < binary_bits.length; i++) {
      binary_bits[i] = new Random().nextInt(2);
      System.out.print(binary_bits[i]);
    }
    System.out.print("\n");
    
    • int[] binary_bits は8つの要素を持つ整数型配列で、8ビットの2進数を表現します。
    • Random().nextInt(2) は0または1をランダムに生成するため、この行のループにより8ビットのランダムな2進数が生成され、コンソールに表示されます。
  2. 8ビットの2進数を10進数に変換す

    int num = 0;
    int[] Decimal = { 128, 64, 32, 16, 8, 4, 2, 1 };
    for (int i = 0; i < binary_bits.length; i++) {
      num += (binary_bits[i] * Decimal[i]);
    }
    
    • int num は10進数の結果を表す変数です。初期値は0です。
    • int[] Decimal は、2進数の各桁に対応する10進数の値を保持する配列です。このプログラムでは、8ビットの2進数なので、配列には2のべき乗の値が逆順で格納されています(128, 64, 32, ..., 1)。
    • for ループにより、2進数の各桁と対応する10進数の値を掛け算し、**num**に加算していくことで、2進数を10進数に変換します。
  3. ユーザーに10進数を入力してもらう

    csharpCopy code
    System.out.println("上記の8ビット2進数を10進数に変換して入力してください:");
    Scanner scanner = new Scanner(System.in);
    int userGuess = scanner.nextInt();
    
    • System.out.println により、ユーザーに対して入力を促すメッセージが表示されます。
    • Scanner クラスを使用して、ユーザーからの入力を受け取り、**int userGuess**に格納します。
  4. ユーザーの入力と正解を比較し、結果を表示する

    if (userGuess == num) {
      System.out.print("正解!");
    } else {
      System.out.print("不正解。正解は " + num);
    }
    
    • if-else 文により、ユーザーの入力と正解を比較し、その結果に応じてメッセージを表示します。
    • ユーザーの入力が正解(num と等しい)であれば、"正解!"と表示されます。不正解の場合は、"不正解。正解は "の後に正解の10進数が表示されます。

最後に、scanner.close() により、Scannerオブジェクトを閉じてプログラムを終了します。

このゲームは、ランダムな2進数を10進数に変換する楽しい方法を提供しています。ユーザーは自分の計算力を試すことができるだけでなく、2進数と10進数の相互変換の理解を深めることができます。

※提案を承認し、マークダウンの調整がされました。
 ありがとうございます~

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0