Si das nombres a cada lugar, vas a necesitar muchos nombres. Los números binarios crecen en longitud más rápido que cualquier otra base integral (además de la unaria, que no cuenta del todo). Aunque podríamos inventar un sistema, sería más problemático de lo que vale. Normalmente, los números binarios se leen simplemente como dígitos - 110 es "uno uno cero" - o se convierten a decimal - 110 es "seis".
Sin embargo, en los casos en los que el número binario es muy largo, estas dos técnicas son ineficaces. En el contexto específico de la informática y la ingeniería de software (los campos que más comúnmente necesitan hacer esto), solemos cambiar a una base más conveniente. Esto es menos difícil de lo que parece, porque las bases de potencia de dos tienen una buena propiedad: cada dígito en base $2^n$ se asigna directamente a $n$ dígitos en base 2. Por ejemplo, tome $1011011010_2$ después de rellenarla con ceros a la izquierda, obtenemos: $$ 0010_2 = 2_{16} \\ 1101_2 = \mathrm{D}_{16} \\ 1010_2 = \mathrm{A}_{16} \\ {0010\;1101\;1010}_2 = \mathrm{2DA}_{16} $$
Como puede ver, la representación hexadecimal es mucho más corta, y mucho menos engorrosa de leer y escribir, incluso sin nombres de lugar hexadecimales. Al mismo tiempo, conserva la estructura y la agrupación de los bits, de modo que podemos razonar sobre la forma binaria mientras miramos la forma hexadecimal.
El hexadecimal es una representación especialmente popular por varias razones:
- Es lo suficientemente pequeño como para que uno pueda memorizar razonablemente la conversión entre binario y hexadecimal.
- Incluso sin memorizarlo, la conversión de un valor de cuatro bits puede hacerse a mano con poca dificultad.
- Cuatro bits es una simple fracción de ocho bits, que es un unidad común en el hardware real .
- Si quieres conservar esta propiedad, las únicas otras opciones son base 4 y base 256. La base 4 es sólo ligeramente más eficiente que la binaria, y la base 256 es difícil de anotar.
- Es lo suficientemente compacto como para ahorrar una cantidad significativa de espacio.
Ocasionalmente verás que se utiliza el octal (base 8) en lugares donde los bits deben colocarse en grupos de tres por alguna razón. El caso más común es Bits de permiso Unix que tienen más sentido como cuatro grupos de tres que como tres grupos de cuatro.
Si la base 16 no es lo suficientemente compacta, podemos ir hasta Base64 que agarra seis bits a la vez. Como su nombre indica, viene con una notación estandarizada, que puede ser ligeramente idiosincrásica. Por ejemplo, distingue entre $\mathrm{a}_{64}$ y $\mathrm{A}_{64}$ . Un poco más controvertido, hace uso de tres símbolos no alfanuméricos para completar la base, los más comunes son $+$ , $/$ y $=$ . Evidentemente, no querrás poner esto en una ecuación u otra expresión matemática de ningún tipo. La única ventaja real de este sistema es que es muy compacto, pero encaja cómodamente en ASCII sin requerir ningún carácter especial que pueda ser mal manejado por un software mal implementado.
78 votos
+ John por este pensamiento. :P
5 votos
Una pregunta similar se ha formulado en Inglés.SE y aquí
15 votos
¿Por qué tiene que haber nombres? Los nombres utilizados para los números en un idioma determinado no siempre se basan en la base $10$ representación. ¿Por qué, por ejemplo, en inglés "eleven" y "twelve" en lugar de algo como "onety-one" y "onety-two"? Y en francés el bastante extraño "quatre-vingts" a "quatre-vingt-dix-neuf".
1 votos
No tengo ningún problema en leer "11" como once. Y luego me da igual que sea en binario, en decimal o en el sistema numérico que sea. Por supuesto, la interpretación cambia con un sistema numérico diferente.
8 votos
@Pakk, esa es una forma increíblemente engañosa de leer el binario 11. ¿Leerías el binario 11111111 como "once millones, ciento once mil, ciento once"?
2 votos
Alguien inventó nombres para los números de base 16, así que por qué no para los de base 2 también: bzarg.com/p/how-to-pronounce-hexadecimal :-)
1 votos
Bueno, se puede tener un camino intermedio, simplemente utilizando los nombres para las potencias de dos (al igual que utilizamos los nombres para las potencias de diez en decimal) y aprovechando el hecho de que cualquier dígito distinto de cero es uno de todos modos, por lo que no es necesario hablar, a menos que sea el último. Así tenemos uno, dos, dos-uno, cuatro, cuatro-uno, cuatro-dos, cuatro-dos-uno, ocho,
0 votos
@Octopus Para ser justos, hizo como una especie de pregunta de "existencia", y estamos aquí en el stackexchange de matemáticas, no en el de Lengua y Uso del Inglés. Estoy completamente de acuerdo contigo, es una forma terrible de hacerlo. Pero es es un camino.
0 votos
urbandictionary.com/ parece relevante
2 votos
@Octopus: Sí, ¿por qué no? No veo nada engañoso en esto. Deja que convierta mi comentario en una respuesta.
0 votos
@Octopus ese número binario lo leería como -1. Trabajo con hexadecimal y binario de forma regular y cualquier cosa de cuatro bits o menos se lee en sentido de los bits ("uno-cero-uno-uno") cualquier cosa más larga se convierte en hexadecimal y se lee en sentido de los caracteres ("A5"). Sin embargo, el hexadecimal 0x11 aparece como once en algunas ocasiones.
0 votos
Suelo leer los números en base no decimal pronunciando los dígitos individuales, en lugar de usar decenas o suertes. Como "uno uno cero", etc.
1 votos
Pronuncie cada 1 como "BL" y cada 0 como "AH". Así, 10110 es "BLAHBLBLAH".