← PC・IT用語集へ戻る

16進数

Hexadecimal
general programming beginner
0から9とAからFの16種類の記号を使って数を表す記数法のこと。
16進数 (Hexadecimal)

概要(サマリー)

16進数とは、0から9とAからFの16種類の記号を使って数を表す記数法のことである。日常の10進数が10ごとに桁上がりするのに対し、16進数は16ごとに桁上がりする。コンピュータが扱う値を短く読みやすく表す場面でよく使われる。

詳細解説

AからFも数字として使う

16進数では、10から15をA、B、C、D、E、Fで表す。Fの次は桁上がりして10になり、これは10進数の16を意味する。

2進数と相性がよい

16は2の4乗なので、16進数の一桁は2進数の4桁に対応する。たとえば16進数のFは2進数の1111である。長い2進数を短くまとめられるため、メモリアドレスやバイト列の表示に向いている。

Webのカラーコードで使う

CSSの色指定では#FF8800のような16進数表記が使われる。2桁ずつが赤、緑、青の強さを表し、00が最小、FFが最大である。

.notice {
  color: #ff8800;
}

プログラムでの表記

多くのプログラミング言語では、0xを先頭に付けて16進数を表す。

const value = 0xff;
console.log(value);

この0xffは10進数の255として扱われる。

10進数・2進数・16進数の対応を実際に数値を入力しながら確かめたい場合は、以下のツールを使うと変換の仕組みがつかみやすい。

大文字と小文字

通常、AからFaからfは同じ値を表す。チームやプロジェクト内では表記をそろえると読みやすい。

AIコーディングとの関係

AIには「10進数255を16進数へ変換する」「カラーコードの各2桁を説明する」のように、変換元と用途を伝えるとよい。生成結果では、10が十ではなく十六を表すことや、接頭辞0xとCSSの#を混同していないかを確認する必要がある。

よくある勘違い

16進数の10は十?

違う。16進数の10は10進数の16である。

Fは文字列?

16進数の表記では15を表す数字として使われる。文脈によって通常の文字Fとは役割が異なる。

#FF00000xFF0000は同じ書き方?

値の並びは似ているが用途が違う。#はCSSの色表記、0xは多くの言語で数値を表す接頭辞である。

まとめ

  • 16進数は0〜9とA〜Fで数を表す
  • 一桁が2進数の4桁に対応する
  • カラーコードや低レベルな値の表示で使われる
  • 表記の意味は文脈と接頭辞で判断する

より詳しくAIに聞いてみよう

  • 16進数を初心者向けに説明してください。
  • 2進数と16進数の対応を表にしてください。
  • 10進数と16進数を手計算で変換する方法を教えてください。
  • JavaScriptで数値を16進数へ変換するコードを書いてください。
  • 16進カラーコードを読み解く方法を教えてください。