2. Notation for Bit Strings and Integers (ビット列と整数の表記法)
ビット列と整数に関連する以下の用語が使用されます:
a. 16進数字 (Hex Digit) は、集合 {0, 1, ..., 9, A, ..., F} の要素です。16進数字は4ビット列の表現です。例: 7 = 0111, A = 1010.
b. ワード (Word) は、それぞれ8個または16個の16進数字の列として表現できる32ビットまたは64ビットの文字列です。ワードを16進数字に変換するには、各4ビット列を上記(a)で説明したように16進数の等価物に変換します。例:
1010 0001 0000 0011 1111 1110 0010 0011 = A103FE23.
本文書全体を通じて、32ビットワードと64ビットワードの両方を表現する際には「ビッグエンディアン (big-endian)」規約が使用されるため、各ワード内で最上位ビットが最も左のビット位置に表示されます。
c. 整数 (Integer) はワードまたはワードのペアとして表現できます。
0から2^32 - 1までの整数(両端を含む)は32ビットワードとして表現できます。整数の最下位4ビットは、ワード表現の最も右の16進数字で表現されます。例: 整数 291 = 2^8+2^5+2^1+2^0 = 256+32+2+1 は16進ワード 00000123 で表現されます。
0から2^64-1までの整数(両端を含む)についても同様で、64ビットワードとして表現できます。
z が整数で 0 <= z < 2^64 の場合、z = (2^32)x + y であり、ここで 0 <= x < 2^32 かつ 0 <= y < 2^32 です。x と y はそれぞれワード X と Y として表現できるため、z はワードのペア (X,Y) として表現できます。
ここでも「ビッグエンディアン」規約が使用され、複数のワードで表現される値の場合、最上位ワードが最も左のワード位置にあります。
d. ブロック (Block) = 512ビットまたは1024ビットの文字列。ブロック(例: B)は32ビットまたは64ビットワードの列として表現できます。