読み方 : じゅうろくしんすう

16進数 【hexadecimal number】 16進法 / 十六進数 / 十六進法 / ヘキサデシマル

概要

16進数(hexadecimal number)とは、数を書き表す方法(記数法)の一つで、基数を16(十六)とした表記法のこと。数字の「0」から「9」、およびアルファベットの「A」から「F」を用いてすべての数を表現する。

解説 普段我々が日常的な数字の読み書きや算術に用いる位取り記数法は10進数十進数/10進法)で、一つの桁の表現に「0」から「9」の10種類の数字を使い、各桁の左の桁が10倍、右の桁は10分の1を表している。

一方、16進数では1の位、16の位、256の位…というように桁の重みが16倍ずつ変化する。16進数における「10」は10進数における「16」を意味する。小数点以下も同様で、小数点の右隣から順に、16分の1の位、256分の1の位、4096分の1の位…というように続く。

コンピュータはすべてのデータを2進数で表しており、これを8桁(8ビット)ずつまとめた「バイト」という単位でデータを取り扱う。16進数は一桁で2進数の4桁分(4ビット)の値を書き記すことができるため、1バイトのデータを「00」から「FF」までの2桁の16進数として表記する慣習がある。

表記法

十六進十進
11
99
A10
B11
C12
D13
E14
F15
1016
2032
十六進十進
4064
64100
FF255
100256
3E81000
FFF4095
10004096
271010000
FFFF65535
1000065536
▲ 十六進表記

10進数の表記には「0」から「9」まで10種類の数字が必要なように、16進数では一桁を16種類の数字で表す必要がある。我々が日常的に使う数字は10種類しかないため、10から15までの数を一桁で表現するために「A」から「F」までの6つのアルファベットで代用することが多い。

その場合、「0」から「9」までは10進数の値と同じで、10進数の10を「A」、11を「B」、12を「C」、13を「D」、14を「E」、15を「F」でそれぞれ表す。例えば、「A0」は10進数の「160」(16×10)、「FF」は「255」(16×15+15)を表す。言語や処理系によるが、大文字と小文字は区別しない(どちらでもよい)ことが多い。

なお、複数の位取り表記法が混在する文書などの場合、記された数値がそれぞれ何進法なのかを明示するため「(9ABC)16」「(1234)10」のように右下に小さく10進表記で基数を記す場合がある。

各言語における表記

プログラミング言語やマークアップ言語などの数値リテラルでは、日常的な文書などと同じように単に数字を並べた表記は10進数とみなす場合が多く、16進数を記述する場合は先頭に特定の接頭辞を付けるなど特別な表記法を用いる。

多くの言語ではC言語などにならって「0xDEAD」のように先頭に「0x」を付記する表記法を採用しており、文字列中のコード参照では「¥x0D¥x0A」のように「¥x」(日本語圏以外では¥はバックスラッシュ)を用いる。

言語によっては「#x」(Schemeなど)「&h」(BASICなど)などを用いたり、末尾に「h」を付ける(一部のアセンブリ言語など)場合もある。HTMLやXMLなどにおける数値文字参照では「♪」のように「&#x」と「;」で挟む。

(2023.4.19更新)

他の用語辞典による「16進数」の解説 (外部サイト)

資格試験などの「16進数」の出題履歴

▼ ITパスポート試験
平24秋 問79】 16進数のA3は10進数で幾らか。
平21秋 問64】 8進数の55を16進数で表したものはどれか。

▼ 基本情報技術者試験
令7修6 問1】 16進小数 0.C を10進小数に変換したものはどれか。
令5公 問1】 16進小数 0.C を10進小数に変換したものはどれか。
令5修1 問1】 16進数の小数0.248を10進数の分数で表したものはどれか。
令3修1 問1】 16進数の小数0.248を10進数の分数で表したものはどれか。
平30修12 問1】 10進数の分数 132 を16進数の小数で表したものはどれか。
平30秋 問1】 16進数の小数0.248を10進数の分数で表したものはどれか。
平29修6 問1】 16進数の小数0.248を10進数の分数で表したものはどれか。
平29修1 問1】 16進小数 2A.4C を10進小数に変換したものはどれか。
平28修7 問2】 10進数の分数 132 を16進数の小数で表したものはどれか。
平28修6 問1】 16進小数 3A.5C を10進数の分数で表したものはどれか。
平27修6 問1】 16進数0.75と等しいものはどれか。
平27修1 問1】 16ビットの2進数nを16進数の各桁に分けて,下位の桁から順にスタックに格納するために,次の手順を4回繰り返す。a,bに入る適切な語句の組合せはどれか。
平26秋 問1】 10進数の分数 132 を16進数の小数で表したものはどれか。
平25修12 問1】 16進小数 3A.5C を10進数の分数で表したものはどれか。
平25秋 問2】 32ビットのレジスタに16進数 ABCD が入っているとき,2ビットだけ右に論理シフトした値はどれか。
平25修6 問1】 16進数の小数0.248を10進数の分数で表したものはどれか。
平25春 問1】 16ビットの2進数nを16進数の各桁に分けて,下位の桁から順にスタックに格納するために,次の手順を4回繰り返す。a,bに入る適切な語句の組合せはどれか。
平24修7 問2】 次の24ビットの浮動小数点形式で表現できる最大値を表すビット列を,16進数として表したものはどれか。ここで,この形式で表現される値は(-1)S×16E-64×0.M である。
平24修6 問1】 16進小数 0.FEDC を4倍したものはどれか。
平23秋 問1】 16ビットの2進数nを16進数の各桁に分けて,下位の桁から順にスタックに格納するために,次の手順を4回繰り返す。a,bに入る適切な語句の組合せはどれか。
平23修7 問1】 16進数0.75と等しいものはどれか。
平23修1 問1】 16進小数 0.C を10進小数に変換したものはどれか。
平22秋 問1】 16進小数 3A.5C を10進数の分数で表したものはどれか。
平22修7 問1】 16進数の小数0.248を10進数の分数で表したものはどれか。
平22春 問1】 16進小数 2A.4C を10進小数に変換したものはどれか。
平22修1 問1】 16ビットの2進数nを16進数の各桁に分けて,下位の桁から順にスタックに格納するために,次の手順を4回繰り返す。a,bに入る適切な語句の組合せはどれか。
平21修7 問1】 16進数0.75と等しいものはどれか。