「MSB」の解説このページをスマートフォンなどでご覧になる場合は、画面を横長にする方が読みやすくなる事があります。Bit)あるいは最上位ビットとは、コンピュータなどの論理回路が2進数を扱う場合に、一番大きな数を扱う(最も重みの大きい)ビットの事を指します。Bit)あるいは最下位ビットとは、コンピュータなどの論理回路が2進数を扱う場合に、一番小さな数を扱う(最も重みの小さい)ビットの事を指します。MSBとLSBは対になって使われる用語ですので、このページで両者をまとめて説明します。1ページ広告1.コンピュータ内部の2進数の表現コンピュータなどの論理回路では、数字を扱う時は2進数を使うのが普通です。一方で人が数を扱う場合は10進数を使うのが普通ですが、数学などでは2進数を使う事があります。その場合、通常は必要最小限の桁数で数を表記します。10進数の3を2進数で表記する時は、11と2桁で表記しますし、10進数の6を表記する時は、110と3桁で表記します。大きい数を表記する場合は、2進数の桁数が増える訳です。注意:このページでは、10進数表記の数は黒字で、2進数表記の数は緑色で表わします。一方でコンピュータなどの論理回路で2進数を扱う場合は、数の大きさに関わりなく、最初から桁数を決めるのが普通です。8桁で2進数を表現すると決めた場合、10進数の3は、2進数では00000011と、上位の桁に0を6個補って、8桁で表現します。10進数の6の場合は、2進数では00000110と、上位の桁に0を5個補って、8桁で表現します。この様にするのは、あらかじめ桁数(ビット数)を決めておくことにより、使用する信号線の数や、確保するべきメモリのビット数などが確定するために、処理が簡単になるからです。参考:2進数の桁数は、ビットという単位で表わします。2進数1桁なら1ビット、2進数5桁なら5ビットです。符号なし整数を扱う場合(負の整数を扱わない場合)、扱う最大の数が255(=28-1)以下だと想定される場合には、8ビットで数を表現します。扱う最大の数が65535(=216-1)以下だと想定される場合の場合は、16ビットで数を表現します。Nビット(Nは1以上の整数)の符号なし整数では、0~2N−1の範囲の整数が表現できます。符号なし整数のビット数Nと、表現できる最大の整数の対応表を表1に示します。65535参考:コンピュータの場合は、8ビットごとにメモリのアドレスが割り当てられる事が多いため、Nに8の倍数(特に8、16、32、64)を選ぶ場合が多いですが、その他の論理回路では、Nを8の倍数以外に選ぶ事もよくあります。2進数の表現に使うビット数を決めておくと、処理が簡単になる事は先に説明しましたが、一方で、先にビット数を決めてしまうと、大きな数を、定められたビット数で表記できなくなるという問題点があります。そこで、用途を考え、使用される最大の数を想定し、それが何ビットで表現できるかを表1などで調べて、ビット数を決めます。100点満点のテストの点数を表現するなら、最大値が100ですから、表1より7ビット(表現できる最大の整数が127)で十分な事が分かります。注:前述の様に、コンピュータの場合、ビット数は8の倍数で選ばれる事がほとんどですから、テストの点数は8ビット(場合によっては16ビット以上の8の倍数)で扱われる事になるでしょう。画像をクリックすると、Amazonの購入ページが別窓で開きます。2.MSBとLSB前の章で説明したとおり、コンピュータなどの論理回路では、通常、決まったビット数の2進数として数が表現されます。この場合、その決められたビット数の中で、最も大きな数を扱う(最も重みの大きい)ビットをMSBといい、最も小さな数を扱う(最も重みの小さい)ビットをLSBというのです。10進数の115は、8ビットの2進数で表わすと、01110011となりますが、この仕組みを説明したのが図1です。図1、2進数と10進数の関係ここでは01110011を例に、2進数から10進数への変換方法を説明していますが、逆に10進数から2進数に変換するには、2進数の各桁の組み合わせを色々と変えてみて、10進数に変換した時に115になる様な組み合わせを探せばよい事になります。ここでは証明はしませんが、解の一意性(どんな10進数でも、2進数で表わす方法が、1通りに決まる事)が保証されています。2進数に変換したい数を2で割って商と余りを求め、さらにその商を2で割って...という具合に、2で割る操作を商が1になるまで繰り返す、効率の良い変換法もありますが、ここでは説明しません。この図で分かる様に、2進数を10進数に変換するには、2進数の各桁に、右の桁から順に20、21、...、27と重みを持たせ、さらに各桁の数字と対応する重みを掛けて、それらの積の合計を求めます。決まったビット数(図1の場合は8ビット)で2進数を表した場合に、最も左に書く桁の重みが最大(図1の場合27)なので、この桁をMSBといいます。右に書く桁の重みが最小(20)なので、この桁をLSBといいます。電子工作ISBN:978-4-7775-1941-5→工学社の書籍の内容の紹介ページ本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。このサイトの中の人が書いた本です。本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。