十六進記数法
[Wikipedia|▼Menu]

十六進法(じゅうろくしんほう、 : hexadecimal)とは、十進数16とし、底およびそのを基準にして数を表す方法である。
記数法

十六進記数法とは、十六を底とする位取り記数法である。

位取り記数法(N進位取り記数法)では、まず基数(base。集合基数(cardinal)とは異なる)となる自然数 N に対して、

0、1、・・・、N-1

の数値に対応する数字の記法を対応させるので、下表のようにする(A?F を英小文字にする場合もある)。

十六進数記法の対応十進法0123456789101112131415
十六進法0123456789ABCDEF

次に、これらを用いて

a m a m − 1 ⋯ a 1 a 0 . b 1 b 2 ⋯ b k {\displaystyle a_{m}a_{m-1}\cdots a_{1}a_{0}.b_{1}b_{2}\cdots b_{k}}

という数字列で表現する。(ただし、 a ∗ {\displaystyle a_{*}} 、 b ∗ {\displaystyle b_{*}} はそれぞれの 0 から F の数字であり、 a m ≠ 0 {\displaystyle a_{m}\neq 0} とする)

この数字列が、

a m × 16 m + a m − 1 × 16 m − 1 + ⋯ + a 1 × 16 + a 0 + b 1 16 + b 2 16 2 + ⋯ + b k 16 k {\displaystyle a_{m}\times 16^{m}+a_{m-1}\times 16^{m-1}+\cdots +a_{1}\times 16+a_{0}+{\frac {b_{1}}{16}}+{\frac {b_{2}}{16^{2}}}+\cdots +{\frac {b_{k}}{16^{k}}}}

という数値であることを表すものである[1]

上記の数字列の先頭にマイナス符号「-」を付けることで負数を表現できる。


ここで {ai} は整数部の位の値を表し、{bi} 小数部の位の値を表す。位の値は 0 から F までの整数である。整数部と小数部の区切りの点は小数点と呼ばれる。あるいはより形式的に、和の記号を用いて次のように表せる: ( ∑ i = 0 m a i ⋅ 16 i ) + ( ∑ j = 1 n b j ⋅ 16 − j ) . {\displaystyle \left(\sum _{i=0}^{m}a_{i}\cdot 16^{i}\right)+\left(\sum _{j=1}^{n}b_{j}\cdot 16^{-j}\right)\,.}
コンピュータでの十六進表記

コンピュータでは、データをビットオクテットを単位として表すことが多い。それぞれ二進表記の1桁、8桁で表現できる。使える数は、前者は0と1だけが許されるが、後者は0?255までに広がる。

後者には、十六進表記がよく用いられ、二進表記の4桁が1桁で表現できるので、二進表記より短く表すことができる。1オクテットは、2桁の十六進表記[2]で表現することができる。

十六進表記の1桁はニブルとも呼ばれる。

下記は具体例。左側はメモリアドレス。右側は十六進法(16進数)で表示された機械語データなど。この例ではアルファベットは小文字が使われている。ディスプレイに表示する時は、可読性を高めるために2文字や4文字ごとに空白をはさむことが一般的である。00000000 57 69 6b 69 70 65 64 69 61 2c 20 74 68 65 20 66 00000010 72 65 65 20 65 6e 63 79 63 6c 6f 70 65 64 69 61 00000020 20 74 68 61 74 20 61 6e 79 6f 6e 65 20 63 61 6e 00000030 20 65 64 69 74 0a
表記方法

十六進表記はよく使われるので、プログラム言語ではリテラルとして特別な表記が準備されていることが多い。一般に、大文字の A?F と小文字の a?f を区別しない。

(1000)16 の表記の例を挙げる。

表記例言語・処理系備考
0x1000

AWK

C

C#

C++

Java

Perl


整数リテラルを記述する場合。
\x1000

AWK

C

C#

C++

Java

Perl


文字リテラルや文字列リテラル中で文字コードを記述する場合。
#x1000

Scheme
整数値の外部表現。
က

SGML

HTML

XML
文字実体参照として文字コードを記述する場合。
1000h あるいは 1000H

アセンブリ言語インテル製)
整数イミディエートを記述する場合。この表記の場合、十六進表記が英字 (A?F) で始まるときは、変数名などと区別するため、先頭に 0 を付けねばならないことがある。例: 0A000H
&h1000

BASICマイクロソフト製)
整数リテラルを記述する場合。
$1000


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:37 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef