La gente dice que la máquina entiende el código binario, que es 0 y 1 ¿es eso literalmente cierto?

-2

Lo que quise decir es que 0 y 1 sigue siendo un número perceptivo que los humanos deben entender, así que, ¿cómo es que la máquina entiende esto? Si la máquina puede obtener 0 y 1, también puede entender los alfabetos. Entonces, ¿dónde me estoy perdiendo el concepto?

    
pregunta Roker

3 respuestas

4

Las máquinas no entienden realmente un 1 o un 0 como un número como lo hacemos nosotros. Lo que queremos decir con 1 o 0 (en el contexto del lenguaje de máquina) es en realidad solo un valor de voltaje alto o bajo almacenado en algún tipo de estructura de almacenamiento de carga (a menudo un capacitor MOS en la actualidad).

    
respondido por el A.Mac
4

En un nivel muy bajo, los microcontroladores / microprocesadores están formados por numerosos transistores que actúan como interruptores. Puede pensar que cada transistor tiene solo dos estados: "encendido" y "apagado".

Estos transistores son impulsados por voltajes. Si aplicamos una tensión, obtenemos un comportamiento específico. Si eliminamos el voltaje, obtenemos el otro comportamiento.

Necesitamos una manera conveniente de decir si un transistor tiene un voltaje aplicado o no. Se suele decir "1" si hay un voltaje aplicado, o "0" si no hay ninguno.

Entonces, las computadoras no entienden realmente "ceros y unos", como pensamos en ellos. Funcionan en función de donde se aplican los voltajes. Pero como nos referimos a estos estados de voltaje como "ceros y unos", el uso del lenguaje tiene sentido.

    
respondido por el bitsmack
2

"0" y "1" son esencialmente conceptos, ideas que podemos usar para representar la ausencia o presencia de algo. La computadora no puede entender "0" o "1", sin embargo, o incluso una bombilla, puede "entender" la presencia o ausencia de voltaje. No hay una comprensión real aquí: la lámpara simplemente brilla en presencia de voltaje y se apaga en su ausencia.

La computadora puede hacer un poco más, pero aun así, solo puede encender o apagar los interruptores, lo que afecta la presencia o ausencia de voltaje en otra parte.

Por ejemplo, un componente pequeño puede encender un interruptor cuando dos cables separados (los llamaremos "A" y "B") tienen voltaje presente. Luego podemos escribir una "tabla de verdad" para su funcionamiento:

Interruptor A B
0 0 0
1 0 0
0 1 0
1 1 1

Ahora puede ver que esta tabla representa la oración anterior: el interruptor solo está ENCENDIDO (1) cuando hay voltaje presente (1) tanto en A como en B . De lo contrario, el interruptor está apagado.

Llamamos a este componente una "puerta AND".

Dos componentes similares son la puerta NO (un interruptor que está APAGADO cuando su entrada está ENCENDIDA y viceversa, y la puerta O, que se enciende cuando A o B o ambas están ENCENDIDAS.

Lo que hace que el código binario sea tan poderoso es que estos tres elementos, AND OR y NOT, se pueden combinar (en número suficiente) para realizar todas las matemáticas, codificar alfabetos textuales (este mensaje), fotos, música, habla. Eso es demasiado complejo para describirlo aquí, pero un punto de partida es el "álgebra booleana".

Ahora las formas (letras, caracteres) "0" y "1" son etiquetas que aplicamos a esos conceptos. Como tal, es absolutamente correcto que son un alfabeto, solo uno muy pequeño, con solo dos símbolos.

Creo que tu pregunta es por qué la computadora no acepta un alfabeto más grande que dos (binario).

Una razón es que, dado el "álgebra booleana", no tiene por qué hacerlo.

Pero otra cosa es que distinguir entre la presencia y la ausencia de voltaje es fácil y no tiene que ser preciso (puede decidir, por ejemplo, que menos de 0,8 V significa "0" (como sucedió con la logística TTL de la década de 1970 en adelante.

Pero distinguir entre 10 voltajes diferentes para un alfabeto de "0" a "9" o peor, 26 voltajes diferentes para "A" a "Z" es un problema mucho más difícil, y sería mucho menos confiable.

Por lo tanto, la lógica binaria es la elección de diseño casi inevitable.

    
respondido por el Brian Drummond

Lea otras preguntas en las etiquetas