基本情報技術者の勉強をしています。
その中でコンピューターは足し算しかできないとの解説がありました。
引き算を2進数の補数を足すことによって実現しているとのことでした。
ここまでは理解したのですが、その後、同じ本の内容で割り算をするときは内部的に引き算をしているとの解説があり混乱してしまいました。
これは割り算をする過程の中で補数の足し算をしていると解釈してよろしいのでしょうか?
「足し算しかできない」というのがすでに不正確で、論理回路の基本はビット演算 (AND, OR, NOT) で、それらを組み合わせて足し算や 2 の補数が作られて、それを組み合わせて引き算が作られて…、といった感じでは。
そうですね。足し算しかできないではなく足し算しか知らないと書いてありました。こちらは私の勘違いでした。すいません。
論理回路も関わってくるのですね。まだまだ勉強不足なのでもう少し読み進めていきたいと思います。
ご回答ありがとうございます!
「足し算しかできない」でも「足し算しか知らない」でも同じことです。
「引き算は2の補数と足し算で実現されているからCPUは引き算を知らず足し算しか知らない」と言うのであれば、
「足し算はANDとORとNOTで実現されているからCPUは足し算を知らずANDとORとNOTしか知らない」とも同様に言えてしまいます。
CPUは引き算ができると考えてもよいし、CPUは足し算しかできないので割り算をする時には補数の足し算をしていると考えてもよいです。
なるほど。だいぶすっきりしてきました!
足し算はANDとORとNOTで実現されているんですね!
そこの理解からまずはしてみようと思います。
ありがとうございます!
回答2件
あなたの回答
tips
プレビュー