16進数
Hexadecimal0から9とAからFの16種類の記号を使って数を表す記数法のこと。
概要(サマリー)
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からFとaからfは同じ値を表す。チームやプロジェクト内では表記をそろえると読みやすい。
AIコーディングとの関係
AIには「10進数255を16進数へ変換する」「カラーコードの各2桁を説明する」のように、変換元と用途を伝えるとよい。生成結果では、10が十ではなく十六を表すことや、接頭辞0xとCSSの#を混同していないかを確認する必要がある。
よくある勘違い
16進数の10は十?
違う。16進数の10は10進数の16である。
Fは文字列?
16進数の表記では15を表す数字として使われる。文脈によって通常の文字Fとは役割が異なる。
#FF0000と0xFF0000は同じ書き方?
値の並びは似ているが用途が違う。#はCSSの色表記、0xは多くの言語で数値を表す接頭辞である。
まとめ
- 16進数は0〜9とA〜Fで数を表す
- 一桁が2進数の4桁に対応する
- カラーコードや低レベルな値の表示で使われる
- 表記の意味は文脈と接頭辞で判断する
より詳しくAIに聞いてみよう
- 16進数を初心者向けに説明してください。
- 2進数と16進数の対応を表にしてください。
- 10進数と16進数を手計算で変換する方法を教えてください。
- JavaScriptで数値を16進数へ変換するコードを書いてください。
- 16進カラーコードを読み解く方法を教えてください。