アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在のコンピュータは、ほとんど二進数表記ですが、そうすることによるメリットはあるのでしょうか?
考えればいくらでもあるとは思いますが、もっとも重要であるよるものを教えていただきたいです。

また、十進数表記など、二進数表記以外のコンピュータも存在していますが、なぜ十進法表記などのコンピュータが存在する必要性があるのでしょうか?

詳しく教えていただきたいです!
回答よろしくお願いします。

A 回答 (12件中1~10件)

コンピューターと言うと、電子計算機を指しますが、その昔、電気計算機と言う物が企業の事務方で実用されていました。

中身は、ギヤー(歯車式)が一回転すると、桁上がりする、いわゆる10進式で加減算、乗算、割り算を高速で処理してましたが、プログラム式では無いので、電気ソロバン的代物でしたが、ソロバンよりはずっと早く便利な機械でした。
------

10進数は、人間の指が10本有るところから、10進数と言う概念が生まれたそうです。
--
10進数が本当に便利なのは、0と言う概念がインドで発明されたお陰だそです。
---
10進数はとても便利なようですが、四捨五入のような曖昧もこの面があり、完全な物では有りません。
--
1.1を1とし、1.2を2とし、1.3を3とするような3進法が有ったとすると、1.199999999999999999999999999は、1なのか、2と扱うべきか、判断をしかねます。
--
その点、1か0か、真と偽で判断すれば、曖昧さは無くなり、判断と言う余計なプロセスも必要無く成り間違いが無く成ります。
---
計算に、曖昧さや間違いは絶対に許されないので、真と偽と言う、絶対に間違えが無いような方法を取り入れようとすれば、(コスト面も重視)今の段階では、2進法に勝るものは無い(飽くまで今の段階では)。
    • good
    • 2
この回答へのお礼

あくまで今の段階ではという注釈がすっきりしました。

確かに、あるかないかだと間違いようがありませんものね。
とても腑に落ちました。
回答ありがとうございました。

お礼日時:2013/01/20 14:33

未成年で学生、と言われましても、6~19歳、小学生から大学等と幅があります。


情報量等が出てくるので、高校以上と思いますが。

現在のコンピュータは電気回路です。その基本原理は、スイッチでON/OFFするものです。
極論すれば、小学校の豆電球と一緒です。あれを、超小型にして、スイッチを電気信号でON/OFFできるようにしたものを、もの凄い数組み合せたのが、現在のコンピュータです。

2進法の回路、というのは、豆電球が点いてるか消えてるかで判定するものです。
これが凄く単純な回路で、ON/OFFの切り替えも簡単だ、ということはわかると思います。
また、点滅だけを見ればいいので、新品の電池で明るい/へたって来た電池で暗いといった違いを無視できます。

(10進法など)3以上の状態を表現しようとすると、例えば、「豆電球の明るさ」といったものを使う必要があります。
「理論」としては可能です。
ですが、目的の明るさに調整するには、電圧を変えたり、抵抗を入れたりといった大規模で木目細かな変更が必要になります。豆電球の明るさも、電池の状態も個々に違いますから、調整も個々に必要です。
これがとても大変だ、ということもイメージできるのではないでしょうか?


ちなみに、「豆電球10個並べて、どれが点いているか」というのは、「2進数に意味を持たせた」だけで、10進法による回路とはなりません。こちらを「10進法でのコンピュータ」と呼ぶなら、現在のコンピュータも「10進法のコンピュータ」です。
    • good
    • 2
この回答へのお礼

なるほど。
やはり、2値の原理で動作するものが最も簡単で高速なようですね。
回答ありがとうございました。

以降、学生という広いくくりは用いないように気をつけます・・・。

お礼日時:2013/01/20 14:31

3値以上の状態を持つ回路を作ることは実は可能で、最近のフラッシュメモリでは1素子で4つの状態(これで2bitになります)を保持することで、記憶容量を稼いでいます。

さらなる多値化も研究されています。ただしこうした動きは、一部にとどまっています。

その理由の一つとして、多値化すると高速動作が困難になるということがあります。多値化は電圧変化で表現すると、0~1.2Vを0、1.4~2.4Vを1、2.6~3.8Vを2、4.0V以上を3みたいな構成を取ります。0.2Vずつ隙間があるのは、あんまり2つの値をくっつけてしまうと、ちょうど間になった時にどっちなのか区別が難しくなるからです。

で、こうした電圧になったらこの値だと判断して動けば良いわけですけど、すぐに動くと誤動作しちゃいます。なぜならある程度の時間をかけないと、まだ電圧が変化している途中かも知れないから。実は電線に電圧をかけても、電源電圧と同じになるまでには時間が必要なんです。逆に通電状態から0Vに落ちるのにも時間がかかります。どちらの場合もかかる時間は電圧に比例します。なので低電圧で動かす方が高速に変化させられるし、消費電力も減って好都合なんですが、そうすると多値化した場合に隣の値との差が確保できない!区別がつかないじゃんか!という問題につながります。じゃあ電圧を上げる?そうすると時間がかかるし、消費電力が…

最近のCPUは内部電圧がどんどん低くなって、今ではもう2Vを切っていますが、これは消費電力の問題だけではなくて、こうしないと数GHzなんて高速ではスイッチング動作が追い付かないからですね。つまり電圧を上げると、今時の高速回路には追従できない。つまり多値化できない。こう言うわけです。下手に多値化するより、2値で高速でぶん回した方が処理速度が稼げるんです。

この辺が解決しない以上、コンピュータの内部は2進数で扱うのが一番好都合なわけです。
    • good
    • 1
この回答へのお礼

そうなんですか。
コンピュータの研究は大変で、いろいろなことが研究されているのですね。
回答ありがとうございました。

お礼日時:2013/01/20 14:29

補足の中にあった


・0Vがゼロ、1Vが1、2Vが2、・・・
というのが何故難しいのか。

では逆に質問します。
・0.1Vは数字に直すといくつになりますか?
・2.5Vは数字ではいくつなんですか?

電圧をそのまま数字にしてしまったのではノイズが乗ったり、何かしらの原因で電圧が変動した時に数値を正確に保持することが不可能になってしまいます。
回路の劣化で電圧に変化が生じる可能性もあります。

そこで「しきい値」というものを設定して、電圧が「しきい値以下ならゼロ」「しきい値以上なら1」というようなルールを作っているのです。
これなら多少電圧が変動しても正しい値を保持しておくことが可能です。

それこそがデジタル回路の最大の特徴といってもいいでしょう。
※そういうところから「2進数」というものが考えだされたのだと思います。


もちろん、コンピューターのチップの中ではもっと高度で洗練された方法・理論が使用されています。
因みに、テレビなどの映像入出力信号(黄色の端子)では電圧がPeek to Peek(電圧差というのかな?)で1ボルトと決められています。もちろんプラスとマイナス方向での最大電圧は決められているでしょうけど。


と言うことで、現在稼働しているコンピューターは電卓も含めて全て2進数で動いています。例外はありません。
例外があるとしたら手回し計算機とか計算尺と呼ばれるコンピューターとは別のものになるでしょうね。
    • good
    • 0
この回答へのお礼

そうなのですか。
詳しい解説どうもありがとうございました。
とてもわかりやすかったです!

お礼日時:2013/01/20 14:26

「理論的」な根拠は無いんじゃないかな、と思います。


簡単、高速、高効率、高信頼性、低コストで、任意のn進表現が可能な回路が発明されたら、まったく違うコンピュータが作られるでしょう。

今、2進法が使われているのは、それが都合がいいからです。

例えばコスト。
2進法なら、スイッチのON/OFFで表現できます。
10進法なら、どんな回路が必要か想像できますか?

例えば、信号。
電圧0V=0, 1V=1 としても、実際の回路では様々な要因で正確にはなりません。しかし、0と1しかないと判っているので、多少の変化は修正できます(0.1Vだったら0Vに近いから0、等)。これがデジタルの強みです。
10進法でこれをやろうとすれば、
同じ電圧を使えば、 1V=9で、幅は1/9Vしかありません。0.1Vずれれば、隣りの値になります。
数値間を1Vにすれば、余裕は同じになりますが、9V=9となり、それだけ高電圧で動作する回路が必要です。

等々、現在の技術では、2進法の方が圧倒的に都合がいいのです。


銀行等で使われる「10進法コンピュータ」ですが、おそらくは、二進化十進数を使っているものだと思います。
http://ja.wikipedia.org/wiki/%E4%BA%8C%E9%80%B2% …

この回答への補足

皆さんの回答を拝見させてもらい、二進法が最も都合がいいということは何となくわかりました!

皆さんがおっしゃっている、「3とか10値の電圧の制御は難しと思いませんか?」って質問なのですが、私はコンピュータ関連にはそれほど強くありませんし、成人すらしていない学生ですので、どのくらい難しいのかがいまいち想像が出来ないです・・・。

そんなに難しいものなんですか?

補足日時:2012/06/04 00:40
    • good
    • 1
この回答へのお礼

回答ありがとうございました。

お礼日時:2013/01/20 14:24

電気が流れる、流れないの2つの違いをもって演算してるので、


コンピュータは二進数なんです。
そして電線の数が桁数ですね。
64ビットは電線が64本あるようなもん。

十進数に見えても、中では二進数でやってます。
hpの電卓などは、誤差が出るんですが、金融電卓はhpの牙城ですから、
その誤差でやっていくことになったくらいです。

基本情報技術者用の本を手に取られると書いてあります。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2013/01/20 14:22

ぶっちゃけ「作るのが簡単」だから.



ああ, 「理論的」には「4進」とかの CPU も作れるよ (というか, 実際研究レベルではあったと思う). 中間電圧を制御しなきゃならないので難しいんだけど.
    • good
    • 0
この回答へのお礼

そうなんですか。
2進数をもちいているのはやはり、コンピュータの制御が簡単だからなのですね。

回答ありがとうございました。

お礼日時:2013/01/20 14:21

論理回路(AND,OR,NOT,XOR)って知っていますか?


そして半加算器の論理回路図って知っていますか?
電気のON/OFF(2進数)だけでそれらの回路は出来ています。
単純な回路の組み合わせでそれが出来ますよね。




>10進数表記のコンピュータは、0Vが0、1Vが1、2Vが2
これを再現しようとすると大変だと思いませんか?
それに電圧の安定性の問題もありますよね。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2013/01/20 14:20

よくある間違えは電気のON、OFFを1、0とするって説明です。



電圧1Vを1、2Vを2、3Vを3みたいな回路を作ることは可能です。
でも複雑すぎてコストがかかるしスピードも出ません。
(NAND型のフラッシュメモリは一部実用化されてますが、それ以外は研究レベルじゃないですかね)

10進数計算できるCPUもありますが、無駄を覚悟で2進数から10進数への変換機能を載せています。
(10進数小数点は2進数で表せない場合があり、金融では誤差が許されないのでそんな仕組みがあります。)

この回答への補足

確かどこかで、銀行や高級な電卓では十進法が使われていると聞いたことがありました。
私たちの世界では十進法が使われていて、それにマッチするためにはやはり機械のほうも十進法による表記を正しく表現できなければならないということですかね?

とても参考になりました。

補足日時:2012/06/03 22:19
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2013/01/20 14:18

質問の「表記」という言葉が何を指しているのか分かりませんが、コンピュータの中は電気が流れているか、いないかしかないので必然的に0と1のみの2進数になるのです。

この回答への補足

「表記」というのは分かりにくかったかもしれませんね。
「コンピュータが情報を記憶・保存するときには2進法、ONとOFF,
0Vと5Vなどが使われていますよね」という意味です。

あと、ONとOFFしかないとか話は、別に後付けで何とでもできる問題のように思います。

他の方にもコメントさせていただきましたが、理論上のお話でお願いします。

補足日時:2012/06/03 22:04
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2013/01/20 14:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!