¿Por qué las computadoras usan código binario en lugar de morse? ¿No serían más rápidos ya que habría menos código?

En primer lugar, el código Morse es ternario, no binario, porque debe codificar short (.) Long (-) y espacios. Sin los espacios, el código Morse no se puede leer. Esto lo hace menos adecuado para el almacenamiento de la computadora.

Aun así, tiene razón en que el código Morse es una representación más compacta que, por ejemplo, ASCII. De hecho, algo similar al código Morse en realidad se usa para almacenar datos. ¿Qué crees que está sucediendo cuando usas algo como “zip” para comprimir datos? Busca patrones repetitivos en los datos y luego descubre cómo representar esas repeticiones de una manera útil.

Uno de los principales métodos utilizados por zip, llamado codificación Huffman, es conceptualmente muy similar al código Morse: las letras comunes necesitan solo unos pocos bits, y las letras poco comunes necesitan más. La diferencia es que la codificación de Huffman es un sistema binario, no un sistema ternario, y se puede ajustar para que coincida con los datos particulares que tiene. Por ejemplo, si su documento tiene muchas X, Z y Q, y muy pocas S y T, entonces elegirá valores para X, Z y Q que usan muy pocos bits, y valores para S y T que usan más bits El artículo de Wikipedia que vinculé explica cómo funciona esto.

Cuando almacena texto directamente en la memoria, no es común utilizar una codificación especial como esta. La razón es que para descubrir qué es una letra en particular, debe comenzar desde el principio del texto y leerlo secuencialmente hasta llegar al área que le interesa. Para bloques largos de texto, esto es tedioso y muy lento.

Con la codificación ASCII más convencional, sabe que cada letra tiene exactamente un byte de ancho. Supongamos que sé que mi cursor está actualmente en la posición número 100,000 en el documento de texto, y sé que el documento de texto está almacenado en el byte 2,000,000 en la memoria. Para averiguar cuál es el carácter número 100,000, solo agrego estos dos valores (2,000,000 + 100,000), y luego miro el byte 2,100,000 en la memoria. Y ahí tienes, sé exactamente en qué letra está mi cursor al lado. Si estuviera usando un formato más “eficiente” para almacenar los datos, buscar un solo carácter sería extremadamente ineficiente .

En la práctica, lo que esto significa a menudo es que almacenamos documentos de texto en un formato comprimido (como zip) cuando está en el disco, y un formato de fácil acceso (como ASCII) mientras está en la memoria, donde es más importante ser editable y rápidamente accesible.

Morse es binario: obtienes un pulso “largo” o “corto” (compáralo con 1 y 0 en binario).
Tenga en cuenta que puede ser difícil explicar las operaciones con códigos Morse, mientras que ya tenemos un álgebra booleana establecida que se puede usar para 1`s y 0`s, desde 1850`s.

Ternary es diferente de Morse y binario en que usa 3 estados. Puede ser 0,1,2 o -1,0,1 u otra cosa, dependiendo de la implementación. Además, aunque tenemos varios sistemas lógicos de tres valores para los disponibles, y dichos sistemas realmente tendrían una mejor densidad de almacenamiento de información y menos componentes que los binarios, históricamente era más fácil hacerlo de manera binaria.

El hardware de la computadora digital era y es binario: transistores activados / desactivados, memoria central invertida de una forma u otra, bits magnéticos invertidos de una forma u otra para 1 y 0, tarjetas / cintas de papel perforadas o no, y las implementaciones modernas en semiconductores.

Binario tiene la ventaja sobre otras bases de ser los valores más fáciles de distinguir: 0 o 1 en un voltaje / amplitud es más claro que 0/1/2 en el mismo rango.

Morse es base 3: dit, dah y un espacio. en Morse, un punto, dos puntos y tres puntos son caracteres diferentes; Si un punto es 0, entonces necesita un carácter de espacio para distinguir los 3 códigos.