最上位ビット(MSB)とは
最上位
ビット(さいじょうい
ビット、Most Significant Bit、MSB)とは、
コンピュータにおける二進数表現において、最も大きな桁の値を表す
ビット位置のことです。一般的に、二進数の左端に位置する
ビットがMSBとなります。
二進数の各
ビットには、0から始まる
ビット番号が割り振られます。かつては、
エンディアン(データの格納順序)によって、0番の
ビットがMSBまたは最下位
ビット(LSB)のどちらにも対応していましたが、近年では0番をLSBとするのが一般的です。ただし、
ビット番号を指定する形式の
ビット操作命令を持つ命令セットでのみ、この違いが問題となります。
MSBの役割
MSBには、以下のような重要な役割があります。
符号の判別: 負の整数を2の補数で表現する場合、MSBは必ず1になります。一方、符号付きの正の整数では、MSBは0になります。この性質を利用して、MSBは数値の符号を判別するために使われます。
エンディアンの区別: MSBは、最上位バイトを意味することもあります。この場合、MSB Firstはビッグ
エンディアンを指します。ただし、MSBという用語が
ビットとバイトの両方を指す可能性があるため、曖昧さを避けるためにMSBit、MSByteと表記されることもあります。
MSBs(複数)
MSBを複数形にしたMSBsは、MSB側から連続するいくつかの
ビットを指します。例えば、8
ビットデータにおけるMSBsは、上位4
ビットなどを指す場合があります。
MSB関連用語
最下位ビット(LSB): 二進数において、最も小さな桁の値を表す
ビット。MSBとは対照的な位置にあります。
二進記数法: 数値を0と1の二つの記号で表現する方法。
コンピュータ内部で数値を扱う基本となる記数法です。
符号付数値表現: 正負の数を表現する方法。2の補数などが用いられます。
2の補数: 負の数を表現する一般的な方法。MSBを用いて符号を判別します。
*
任意精度演算: コンピュータで扱うことのできる数値の精度を任意に設定できる演算手法。大きな桁数の計算などに利用されます。
まとめ
MSBは、二進数表現における最上位の
ビットであり、符号の判別や
エンディアンの区別、データの解釈において重要な役割を果たします。
コンピュータの仕組みを理解する上で、MSBの概念を把握することは非常に重要です。