¿Por qué las computadoras solo pueden hablar en binario?

De acuerdo, esto es un poco complicado.

La computadora no habla binario por sí misma.

Intente imaginar la CPU como una máquina con un número gigante de conmutadores (transistores).

Bien, entonces un cambio, en este escenario solo puede tener dos valores.

0 – DESACTIVADO

1 – ENCENDIDO

Si observa la señal enviada a la CPU, verá una onda cuadrada.

El binario es una representación de cómo se envían los datos on / off. Bien, ahora la pregunta … ¿Por qué binario, hay otras “computadoras” como las ternarias.

Probablemente en ese momento tenía más sentido y como los transistores hacen que sea más fácil simularlo sin un ENORME tubo de vacío , continuaron haciéndolo.

Entonces, para la CPU, una secuencia de 0/1 se denomina instrucción. Entonces, el código del ensamblador se convierte al final a 0/1.

La CPU sigue leyendo esos 0/1 para identificar una instrucción y valores para ella.

¿Podría cambiarse a otra cosa? Quizás valga la pena … tal vez no ahora, la tecnología ha estado allí durante mucho tiempo. A menos que alguien encuentre algo realmente diferente y BUENO, probablemente seguiremos usando binarios ya que está súper bien establecido.

Esa es una decisión de diseño de sus creadores. Las computadoras pueden hablar binario, decimal, hexadecimal … algunas de las primeras computadoras fueron decimales. Hablan lo que sus diseñadores decidieron que hablarían.

Ahora que tenemos eso fuera del camino, ¿por qué la mayoría de las computadoras son binarias? En los términos más simples: rendimiento y costo. Es más barato y más fácil construir el hardware para admitir sistemas binarios, ya que solo tienen dos estados básicos.

Binario es realmente solo un sistema de conteo. Los humanos cuentan en la Base 10 (0–9), y los videos de youtube son un buen ejemplo de un sistema de conteo más grande, la base 64 (az, AZ, 0–9, _ -). El binario es base 2. 0 y 1. Si lo considera más como un sistema de conteo que como un código. Se vuelve más fácil de entender.

Un transistor básicamente tiene 2 estados.

En 1)

Y

Apagado (0)

Piense en estos como un interruptor de luz. Si alineas muchos de ellos, puedes comenzar a leer de ellos. Haz matemáticas con ellos. Pero ahora imaginemos que tenemos miles de millones de ellos, en una pieza de silicio de 1.5 pies cuadrados, haciendo miles de millones de cálculos por segundo.

Hay estados de encendido y apagado de los componentes digitales. Eso se traduce como binario. PERO, hay computadoras cuánticas en desarrollo que no están restringidas por Binary. Necesitarías buscar en Google detalles, no lo entiendo yo mismo. Solo sé que pueden tener más de dos estados y eso revolucionará la computación a lo grande.

Binario es la forma más eficiente de representar información dentro de una computadora. Es la base entera más cercana a e, que sería la base más eficiente si fuera un entero. También hace que el circuito sea simple: todo puede estar encendido / apagado o alto / bajo.

Se han probado otras bases, como la base diez, una elección natural. Pero han resultado ser más problemas de lo que valen.

Ellos no. Se han creado muchas computadoras de base 3 – ver Computadora Ternaria – Wikipedia. Posiblemente otras bases.

El problema es que es muy fácil hacer un cambio que vaya entre dos valores. Encendido o apagado. Para obtener un tercer valor intermedio, el transistor necesita un comportamiento lineal razonablemente bueno: un valor de entrada intermedio también crea un valor de salida intermedio. Estos son mucho más difíciles de fabricar de manera confiable, el binario resultó más barato que hacer mejores transistores.

More Interesting

Cómo resolver el problema ALCATRAZ3 (The honeycomb maze) en SPOJ

¿Qué enunciado describe mejor por qué la notación Big-O es una forma muy útil de analizar la complejidad del algoritmo?

Me acabo de unir a TopCoder porque quiero aprender las estructuras de datos y cómo codificarlas en C, pero no tengo idea de dónde comenzar en TopCoder ya que puedo ver 3 categorías en el sitio, pero no pude encontrar la forma correcta. ¿Qué debo hacer para comenzar?

¿Cuándo debo usar un árbol de búsqueda binario sobre un mapa hash?

¿Resolver problemas en Topcoder / Codeforces es una buena manera de aprender Java Collections Framework?

¿Cuáles son las formas de ajustar algoritmos de aprendizaje automático?

Dado un gráfico con vértices 2N de modo que existan dos vértices P y Q, con cada ruta de P a Q que contenga al menos N + 1 bordes, ¿cuál es el número mínimo de vértices que debemos eliminar para desconectar P y Q?

¿Cuál es la mejor forma / algoritmo para detectar un patrón en una serie de tiempo?

¿Cuál es un buen algoritmo de hash para identificar de forma exclusiva una URL en una base de datos?

Programación competitiva: ¿Se pueden resolver todos los problemas de Fenwick Tree con Segment Tree?

¿Cómo obtenemos ideas para resolver preguntas de programación dinámica?

Cómo resolver este problema sin obtener un TLE

¿Qué se entiende por recursión?

¿Cuál es la diferencia entre el algoritmo memético y el algoritmo genético?

¿Existe un algoritmo que lo ayude a visualizar las distancias entre los n nodos de manera óptima?