データの最小単位としてビットに代わるものはありますか?0または1だけでなく、実際に多くの可能な状態を間に保持するものは何ですか?そのようなフロートを保存する方が自然ではないでしょうか?
データの最小単位としてビットに代わるものはありますか?0または1だけでなく、実際に多くの可能な状態を間に保持するものは何ですか?そのようなフロートを保存する方が自然ではないでしょうか?
回答:
もちろん、理論的にも実際的にも可能です。
理論的には、2つのクラスの選択肢があります。2以外の基数を持つデジタル数値システム(実際には、そのようなシステムの1つであることがわかっている10進数システム)。および非デジタル数値システム。数学的に言えば、離散領域と連続領域について話しています。
実際には、両方のオプションが検討されています。初期のデジタルコンピュータの一部(ENIACなど)は、現在普及しているバイナリエンコーディングではなく、10進エンコーディングを採用しています。他のベース、たとえば3成分は、同様に実行可能(または実行不可能)でなければなりません。難解なプログラミング言語Malbolgeは、理論的な3進コンピューターに基づいています。ほとんど風刺的ですが、機能しないはずの技術的な理由はありません。連続領域の保存と処理は、歴史的にアナログコンピューターで行われていました。そこでは、振動信号の周波数や振幅として量をエンコードでき、これらの信号にあらゆる種類の変調を適用して計算を実行していました。今日、量子コンピューティングは、連続ストレージセルの背後にある理論を再び興味深いものにしています。
いずれにせよ、情報の理論上の最小単位としてのビットは依然として存在します。代替手段は単一のyes / noよりも多くの情報をエンコードでき、誰もまだより小さな理論単位を考え出していないためです(そして、それが起こるとは思いません近いうちに)。
double
Some of the early digital computers employed decimal encodings rather than the now ubiquitous binary encoding
-実際、10進エンコードは現在も使用されています。BCDと呼ばれます。ほとんどのコンピューターのBIOSは、バイナリで行うよりもBCDですべてを行うために必要な回路が少ない(つまり、安価である)ため、ほとんどの安価な計算機と同様に(小数ベースの日付に対して)それを使用します2進数から10進数へのコンバーター。
基本的にはセンサーで使用されるアナログ信号を記述していますが、内部計算用ではありません。問題は、ノイズにより品質が低下すること、通信するのが難しい基準点の非常に正確なキャリブレーションが必要になること、そして伝送が進むと強度が失われるために伝送が問題になることです。
アナログコンピューティングの検討に興味がある場合、ほとんどの学部の「電子工学入門」クラスでは、オペアンプインテグレータのようなものを作成します。正式な指示がなくても簡単に構築できます。
同じノードに複数のデジタル状態を保存することもできます。たとえば、0〜2.5ボルトがゼロで2.5〜5.0ボルトが1である代わりに、間に3番目の状態を追加できます。ただし、多くの複雑さが追加され、ノイズに対する感受性が大幅に高まります。
これらはキュービットと呼ばれ、量子コンピューターで使用されます。ウィキペディアのエントリでそれらに関する詳細情報を見つけることができます。そのようなコンピューターを安定して経済的に実現可能にするための研究が行われています。
ビットを使用する1つの理由は、情報を正確に保存および取得するのに役立つからです。
現実の世界はアナログであるため、コンピューターが通過または保存するすべての情報は最終的にアナログです。たとえば、ワイヤ上の特定の電圧の電流、ディスク上の特定の強度の磁気電荷、またはレーザーディスク上の特定の深さのピット。
問題は、そのアナログ情報をどれだけ正確に測定できるかということです。次のように、ワイヤ上の電流が任意の10進数として解釈されると想像してください。
このシステムでは、数パルスの電流で大量のデータを渡すことができますよね?しかし、問題があります。電圧が何であるかを非常によく確認する必要があります。温度や磁石、宇宙線などが変動を引き起こす場合、間違った数字を読み取る可能性があります。そして、私たちがより細かく測定しようとするほど、そのリスクは大きくなります。1ミリボルトの差が大きい場合を想像してください!
代わりに、通常はデジタル解釈を使用します。あるしきい値を超えるものはすべて真であり、その下のすべては偽です。そのため、「現在はありますか?」などの質問をすることができます。代わりに「正確にどれだけの電流がありますか?」
「正しい球場」にいるだけでよいため、個々のビットを自信を持って測定できます。そして、多くのビットを使用することで、多くの情報を取得できます。
バイナリコンピューターの代わりにターナリーコンピューターもあります。http://en.wikipedia.org/wiki/Ternary_computer
三元コンピュータ(別名三元コンピュータは)使用するコンピュータである三元ロジック(3つの値)の代わりに、より一般的なバイナリ論理の計算で(2つの値)···
私たちにとっては自然なことかもしれませんが、デジタル回路のために、したがってプログラミング言語のためにバイナリが選択された特定の理由があります。2つの状態がある場合、0Vと5Vなどの2つのボルト設定を区別するだけです。基数(ベース)をさらに増やすごとに、その範囲をさらに分割する必要があります。したがって、互いに不明瞭な値を取得します。電圧範囲を広げることはできますが、回路を溶かすというこの厄介な習慣があります。
ハードウェアの種類をデジタル回路から変更する場合、オプションはより多様です。歯車は耐熱性がはるかに高く、電子の電荷よりも明確であるため、機械式コンピューターで使用されていた小数。他の場所で述べられているように、量子コンピューターには物事を扱う他の方法があります。光学式コンピューターは、今まで扱ったことのないこともできるかもしれませんし、磁気式コンピューターも可能です。
最近では、任意の量の状態を保持したり、アナログデータを操作したりできるアイテムを作成できると思います。システム全体を構築し、すべての論理コンポーネントを実行してフル機能のプログラマブルアーキテクチャを取得することは、多くの作業と企業がこのタスクを実行するための経済的リスクになります。
ENIACは、10桁のリングカウンタを使用して数字を格納する最後のアーキテクチャだったと思います。私はこれについて間違っている可能性がありますが、定かではありませんが、これが機械の他の部分にどの程度影響を与えたかはわかりません。
ストレージは未来への送信と考えることができ、連続(アナログ)メディアの送信の問題はすべて適用されます。
これらの状態を保存するのは簡単な場合があり(3方向スイッチまたは何らかのグリッド)、これらの状態を物理的に保存することは、多くの答えがカバーする1つの問題であり、私よりもはるかに優れています。
私の主な懸念は、この保存された状態がどのようにエンコードされるかであり、実際の連続データを表現するにはビットで十分であるため、このタスクがばか用事である可能性が高いようです。必要な精度に応じて、さらにビットを追加してください。
真に連続したデータをこの方法で保存することは不可能ですが、それらを計算する方程式
1/3
保管できます。
最適な数値ベースはeですが、デジタル電子で数値を表す最も簡単な方法は2つの状態(高電圧= 1、低電圧= 0)であるため、2進数表現が選択されました。
e
についても言及せずに話していますか?恥のために。
可能な限り小さなデータ単位があります。正式名称はわかりませんが、国連と呼びましょう。
ビットは、「Binary digIT」のスマートなコンボワードです。つまり、2つの状態があります。したがって、可能な状態が1つだけの種類の数字が必要です。
それが何を意味するのか見てみましょう。つまり、使用できるのはゼロのみになるということです。
どのように数えますか?x-baseシステムでは、数字がなくなるまで値を増やし、数字を形成するために数字を追加します。数字が1つしかない場合は、すぐに数字が足りなくなります。
ゼロ= 0 1 = 00 2 = 000など
これは間違いなくもっと自然です。あらゆる離散的なものに完全に対応します。ジャガイモは何個?00000それは4つのジャガイモです。ちょっと待って...それは1つずつです。気に入らない場合は、0の値を1に再定義できます。それからそれは本当に自然です:ゼロはありません、ゼロは1つ、ゼロは1つ、ゼロは2つなどです。
しかし、これはソリッドステートマシンには実用的ではありません。数字は物理的に配置および削除する必要があり、うまくスケールしません。