PCはめちゃすごい計算機!?
皆さんこんにちは!PC修理リペアマスターサンロード青森店です!
以前、5大要素でも説明したのですが、PCは直で我々と同じ言語を出力したり、表示しているわけではありません。
PCは、あくまで、0と1の二つの数字を使って、オンとオフに分けて何をどう命令していくか考えているのです。
今日はそんな、皆さんがPCと同じ気持ちになれるように(?)、機械語がどのように計算されているのかを紹介します!!
論理演算
基本的に上記でも言った通り、PCは2進数で物事を計算し、1をオン0をオフとして捉えます。
もう一つ基礎知識として知っておくべきことは、2進数は一桁だけではありません。一桁だけだったら0と1以外に何も計算できないですからね。
2進数、それも超基本的な8ビットだとして、8桁で表すと、
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
となっており、1桁ごとに2の累乗が増えていきます。
一つ注意点として、一番下の桁は、2ではなく1です。
最下位桁は、2の1乗ではなく、2の”0”乗だからです。
最大で、2の8乗であり、256個の結果を表示することが可能です。
さて、論理演算ということは、8ビットのデータがあったとしても、それ一つだけとは限りません。
11001110と01001111という、データを使って、加算したい、除算したい、乗算したい、などなど様々な計算が必要です。
下4桁ビットを加算したい、上位何桁を〜など計算方法はかなり多彩ですが、今回は、計算が目的ではないので、計算をするにあたってどんな処理をするか確認していきましょう。
上記の2つのデータを使って、例えます。
X:11001110
Y:01001111
この二つのデータを単純に、X=2+4+8+64+128とか、Y=〜〜〜〜〜〜〜〜、X+Y=というように、人間でわかる様に計算してから、2進数に戻す方法もあるのですが、機械は、人間語しゃべれませんし、使えませんので、2進数を使って、そのまま計算します。
1を真、0を偽という判定でPCはとらえます。
☆and(論理積)
計算する桁が、共に1なら、1を表示します
1 1 0 1
1 0 1 1
--------ー
1 0 0 1
☆OR(論理和)
計算する桁のうち、どちらかが1であれば、1を表示します。
1 1 0 0
1 0 1 0
ーーーーーーーーー
1 1 1 0
☆XOR (排他的論理和)
どちらかが1の時だけ、1を表示します
1 1 0 0
1 0 1 0
ーーーーーーーーー
0 1 1 0
☆NOT(否定)
ANDやORに否定をつけると、真が偽に、偽が真になります。
例えばNOTANDですと、
1 1 0 1
1 0 1 1
--------ー
0 1 1 0
となります。
まとめ
いかがだったでしょうか?我々が目で見て感じるもの以上にPCは常に頭を回して、計算しているのです。
そんなスーパーな頭脳を持ったPCを当店では、些細なことから対応します!