長めの16進数を10進数に変換する方法です。

Java

Javaの進数変換は簡単です。
16進数から10進数に変換したい場合は以下のように設定します。

Integer.parseInt(String s,  int radix);;

Long.parseLong(String s, int radix);
※radixには基数「16」を設定する。

しかし、変換できるのは型の範囲内まで。

最小値、最大値の範囲外だと「NumberFormatException」というエラーが発生します。

intとlongの範囲は次の通り。
  • int:-2147483648~2147483647
  • long:-9223372036854775808~9223372036854775807

longを超えるさらに大きな整数を扱いたい場合、 BigIntegerを使用します。

構文は以下の通りです。
new BigInteger(String val, int radix);
これでlongの範囲外でも16進数を10進数に変換することができます。
便利ですね。

※byte[]変換して頑張っている記事があったので参考に書いてみました。

以上、長い16進数を10進数に変換する方法でした。



スポンサーリンク