さて月曜日までの連休ですので、がんばって勉強を始めます。
今回は数値の表現方法です。
・数値の表現
・コンピュータの内部では限られたビットで数値や文字などを表現しなくてはいけません。
・それでは限られたビット数での表現の仕方を勉強しましょう。
2進数の場合での表現から見ていきます。
①絶対値表現
最上位のビットで符号を表示する方法です。正の数の場合は、最上位の桁を0。
負の数の場合は最上位桁を1とします。
3という数字を2進数で8ビットで表すと
00000011です、
-3は
10000011です。赤文字で示したところが符号になっているわけです。
ただし、この表現では0の表現として00000000と10000000と二つ存在することになります。
②補数表現
もっとも良く使われるのはこちらの表現で、
基数から表現しようとする数を引き算したものです。
1の補数を表現するには2進数のすべてのビットを反転させます。
たとえば-3を表現したいとします。すると
3の表現である
00000011を反転させて、
11111100を-3とします。
8ビットの場合127~-127を表すことが出来ます。
ただし、0の表現に00000000と11111111との二通りが存在することになります。
次は2の補数です。
2の補数は先ほどと同じように2進数のすべてのビットを反転させて1を足します。
-3を表現したい場合は3の表現
00000011を反転し
11111100にして、
1を足すと、1111110
1これを-3とします。
2の補数の場合は0の表現は00000000のみとなります。このため、
絶対値表現、1の補数に比較すると表すことの出来る数の範囲が1つ増えます。
8ビットの場合は127~-128を表すことが出来るのです。
小テスト)
問1)8ビット・1の補数表現で表すことの出来る範囲はいくつですか。
127~-127
問2)8ビット・2の補数表現で表すことの出来る範囲はいくつですか。
127~-128
ちょっと集中が続かないので今回は短めですがこれでおしまいですw
次回は浮動少数点数についてまなびます。
PR