Javaで16進数を10進数に変換する方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaで16進数を10進数に変換する方法について解説しています。最初に10進数と16進数について説明します。次に16進数から10進数に変換する場合、10進数から16進数に変換する場合それぞれの書き方を学びましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Javaで16進数を10進数に変換する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まるでしょう。

 

なお本記事は、TechAcademyのオンラインブートキャンプJava講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

16進数を10進数に変換する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

進数とは

新数とは数字を表す概念のことです。

例えば、普段使っている0から9の組み合わせの数字は10個の数字を使用しているため10進数と呼びます。

新数には様々な種類があり下記のような新数が代表的です。

・0と1の2つの数字のみを使用する場合は2進数
2進数「10」 -> 10進数「2」
2進数「11」 -> 10進数「3」

・0から7までの8つの数字のみを使用する場合を8進数
8進数「6」 -> 10進数「6」
8進数「11」 -> 10進数「9」

・0から9の数字に加えてAからFまでのアルファベットを使用して、16個の数字と記号を使用する場合は16進数
16進数「f」 -> 10進数「15」
16進数「ff」 -> 10進数「255」

Javaプログラムではこれらの10進数、2進数、8進数、16進数の4通りが使用可能です。

 

16進数を10進数に変換する方法

Javaのプログラムで16進数の数字を10進数の数字に変換するには、IntegerクラスのparseInt()メソッドを使用します。

以下、サンプルコードです。

Integer.parseInt(16進数文字列, 16)

第一引数は16進数の値を文字列で指定し、第二引数には基数となる「16」を使用しましょう。

 

[PR] Javaで挫折しない学習方法を動画で公開中

10進数を16進数に変換する方法

Javaのプログラムで10進数の数字を16進数の数字に変換するには、IntegerクラスのtoHexString()メソッドを使用しましょう。

以下サンプルコードです。

Integer.toHexString(int型の10進数値)

引数に渡した10進数の値を16進数に変換します。

また、変換した値は16進数の文字列表現となる点は覚えておきましょう。

 

実際に書いてみよう

実際にサンプルプログラムで16進数から10進数への変換、10進数から16進数への変換を確認しておきましょう。

public class Change {
	public static void main(String[] args) {
		String hex = "fe";
		int dec = Integer.parseInt(hex, 16);
		System.out.println(hex + " => " + dec);

		String hex2 = Integer.toHexString(dec);
		System.out.println(dec + " => " + hex2);
	}
}

実行結果

fe => 254
254 => fe

16進数の値を10進数へ変換したり、10進数の値を16進数へ変換したりすることが可能です。

 

執筆してくれたメンター

松井紀明

メーカー系で17年エンジニアとして勤務後、現在はフリーのエンジニアとしてリモートワークで働いています。

Java、Perl、COBOL、最近ではRuby、PHP等、様々な言語での開発を経験しています。

TechAcademyではJavaコースを担当しています。

 

大石ゆかり

Javaで16進数を10進数に変換する方法がよく分かったので良かったです!

田島悠介

ゆかりちゃん、これからも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、JavaやServletの技術を使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、参加してみてください。