Javaでの8進数変換について

Javaでの8進数変換について

8進数とは

8進数は、数字の基数が8である数体系です。0から7までの数字を使用して数値を表現します。コンピュータ科学では、2進数と16進数と並んで重要な数体系の一つです。8進数は、特に古いコンピュータシステムや一部の組み込みシステムで使われることがあります。

8進数に変換する方法

Javaでは、整数を8進数に変換するための簡単な方法があります。以下の方法で実現できます:

  • Integer.toOctalString(int num) メソッドを使う。
  • String.format(“%o”, num) を使う。

これらの方法を使用すると、10進数の数値を8進数として出力することができます。

8進数変換の例

以下にいくつかの例を示します。

            // 例1: Integer.toOctalStringを使用
            int num = 64;
            String octalString = Integer.toOctalString(num);
            System.out.println("10進数: " + num + " -> 8進数: " + octalString); // 64 -> 100

            // 例2: String.formatを使用
            int num2 = 45;
            String octalString2 = String.format("%o", num2);
            System.out.println("10進数: " + num2 + " -> 8進数: " + octalString2); // 45 -> 55
        

上記のコードでは、10進数の数値を8進数に変換しています。Integer.toOctalString()メソッドは、指定された整数を8進数の文字列として返します。String.format(“%o”, num)は、指定された整数を8進数としてフォーマットして返します。

8進数から10進数への変換

8進数の文字列を10進数に変換するには、Integer.parseInt(String s, int radix) メソッドを使います。ここで、radixには8を指定します。

            // 例1: 8進数の文字列を10進数に変換
            String octalStr = "100";  // 8進数の文字列
            int decimal = Integer.parseInt(octalStr, 8);
            System.out.println("8進数: " + octalStr + " -> 10進数: " + decimal); // 100 -> 64
        

上記のコードでは、8進数の文字列”100″を10進数の整数64に変換しています。Integer.parseInt()は、指定された基数(radix)に基づいて文字列を整数に変換します。

10進数から8進数への変換

10進数を8進数に変換する方法として、前述のInteger.toOctalString()を使用するのが一般的です。もう一つの方法として、手動で10進数を8進数に変換する方法があります。

            // 例1: Integer.toOctalStringを使用
            int num = 128;
            String octalString = Integer.toOctalString(num);
            System.out.println("10進数: " + num + " -> 8進数: " + octalString); // 128 -> 200
        

また、10進数から8進数への変換を手動で行う場合、次のように進めます:

  • 商と余りを求める。
  • 余りを記録し、商を使って次の計算を行う。
  • 商が0になるまで続け、余りを逆順に並べる。

これにより、10進数を8進数に変換することができます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です