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.
- ¿Qué es un paradigma en las computadoras?
- Recientemente he estado recibiendo esta ventana emergente cada vez que visito un sitio que siempre uso, está en Chrome, ¿alguien puede ayudarme?
- Cómo optimizar el uso de mi computadora para hacer frente a la miopía
- ¿Debo comprar una PC preconstruida (diseñada para uso doméstico / de oficina) y actualizarla para jugar?
- ¿Cómo funciona una CPU?
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.