Javaでの10進数・16進数の変換

Javaでの10進数・16進数の変換

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

Javaでは、整数を16進数に変換するために Integer.toHexString(int) を使用できます。

int decimalNumber = 255;
String hexString = Integer.toHexString(decimalNumber);
System.out.println(hexString); // "ff"

大文字表記にする場合は toUpperCase() を使います。

String hexUpperCase = hexString.toUpperCase();
System.out.println(hexUpperCase); // "FF"

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

16進数の文字列を10進数の整数に変換するには Integer.parseInt() を使用します。

String hexString = "ff";
int decimalNumber = Integer.parseInt(hexString, 16);
System.out.println(decimalNumber); // 255

大文字・小文字は区別されません。

int decimalNumber2 = Integer.parseInt("FF", 16);
System.out.println(decimalNumber2); // 255

ゼロ埋めの16進数変換

一定の桁数に揃えて16進数を表示するには String.format() を利用できます。

int number = 255;
String formattedHex = String.format("%04x", number);
System.out.println(formattedHex); // "00ff"

大文字表記にするには %X を使用します。

String formattedHexUpperCase = String.format("%04X", number);
System.out.println(formattedHexUpperCase); // "00FF"

16進数のパース時の例外

不正な文字列をパースしようとすると NumberFormatException が発生します。

try {
    int value = Integer.parseInt("G1", 16);
} catch (NumberFormatException e) {
    System.out.println("エラー: " + e.getMessage());
}

ビット演算による16進数操作

ビット演算を使って16進数を扱うことも可能です。

int num1 = 0xF0; // 16進数 0xF0 (240)
int num2 = 0x0F; // 16進数 0x0F (15)
int result = num1 | num2; // OR演算
System.out.println(Integer.toHexString(result)); // "ff"

ビット演算を活用すると、効率的なデータ処理ができます。

コメントを残す

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