[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
メール
|
1-
101-
201-
301-
401-
501-
この機能を使うにはJavaScriptを有効にしてください
|
喫茶店の相談カウンター
251
:
めもり
:2008/04/21(月) 00:08:57 ID:cq5Ew8VM0
「2進数で負の数を表す」その1
[いきなりコラムから]
さて、コンピュータの世界では、使って良いデータ量があらかじめ制限されていることがあります。
アンケート入力などのWeb画面で性別を入力する場合、持ちえる値は男、女の2通りしかないので、
男を0、女を1で管理しちゃえば1bitの情報量で性別データを管理できちゃいます。
誤解を招く言い方をすると、ハードディスクの省スペース化が計れます。
ところが、都道府県だと47個もあるので、例えば、1bitだと2通りしか表せないので全然区別できません。
2bitだと4通りでまだまだ。5bitで32通り、おしい!
6bitで64通りが区別でき、やっと都道府県データが管理できました。
そしてプログラマは「データは6bitで管理ね。」と呟きながらプログラムを作りはじめるわけです。
そしてそして、一度プログラムを作ってしまうと、もう簡単には変更が出来ません。
もし都道府県が増えて65個になったら6bitでは管理できなくなりますから、
日本中のプログラムを作り直すことになってしまいます。
是が非でも日本は47都道府県のままで居てもらわないと困るのです。
このように、コンピュータの中ではあらかじめ情報を何bitで管理するか決められていることが多いのです。
さて、本題にはいります。
2進数でマイナスを表すにはどうすればよいか考えてみます。
まず、コラムの流をふまえて、利用できるのは4bitだけ、と決めてしまいましょう。
つまり、0000~1111までの16通りのみが利用できることに決めてしまいます。
0(10) → 0000(2)
1(10) → 0001(2)
2(10) → 0010(2)
3(10) → 0011(2)
4(10) → 0100(2)
5(10) → 0101(2)
6(10) → 0110(2)
7(10) → 0111(2)
8(10) → 1000(2)
9(10) → 1001(2)
10(10)→ 1010(2)
11(10)→ 1011(2)
12(10)→ 1100(2)
13(10)→ 1101(2)
14(10)→ 1110(2)
15(10)→ 1111(2)
では1111の次はどうなるか。というと、0000に戻ります。
本当は1111+1=10000なのですが、4bitしか使えないと決めてしまったので、
コンピュータは新たに上の位を作ったりせず、繰り上がりを無視します。
さてさて、上の対応ではプラス方向に16個増やしましたが、マイナスも表現したい!となると困ります。
なにしろ絶対に4bitしかつかえないので、マイナスという記号を入れる余地さえありません。さて困った。
でも、プラスを8つ、マイナスを8つ表せればバランスがいい、くらいの計画は立てられます。
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板