计算机硬件理论:为什么是二进制位?

计算机硬件理论:为什么是二进制位?

由于这不是一个研究级别的问题(因为我不是研究生课程)我决定从其他 CS Q&A 网站跳到这里。

为什么我们使用二进制来对位信息进行编码?

我有一些编程和硬件经验,我知道 1 和 0 代表灯泡的开和关,等等。但现代灯也有调光器。
既然我们可以使用频率或传输能量的百分比值来进一步压缩机器语言中的消息,为什么我们仍然使用 1 和 0?
如果 CPU 或内存能够更快地获取信息,那么计算和处理某些东西的速度不是更快吗?

基本上,这可能吗?如果可能的话...这个想法现在有版权吗?:)

如果不是,我想知道具体原因,能否解释一下。谢谢 :)

答案1

已经尝试过采用多个级别而不是 0 和 1 的想法。

例如三元计算机具有三个级别0、1、-1。

http://en.wikipedia.org/wiki/Ternary_computer

这个类似的问题有一个很好的详细答案。

https://stackoverflow.com/questions/764439/why-binary-and-not-ternary-computing

答案2

对于多于两个状态(真/假)的计算,您需要多值逻辑(检查模糊逻辑,例如在维基百科上https://en.wikipedia.org/wiki/Fuzzy_logic)。

到目前为止,由于技术限制,你无法在可大规模生产的晶体管中清楚地分离三个或更多条件(真/-/假),所以计算机必须使用二值逻辑。

答案3

在我看来,你提议的是一个模拟计算机- 一种基于一系列值而不是数字值进行操作的计算机。我不认为其中一种本质上比另一种更好,但用例不同。此外,从数字计算机的明显成功来看,我推测它们可能比模拟计算机更适应并更适合解决一般问题。

相关内容