¿Por qué utilizamos otras bases que no son binarias (para computadoras) ni decimales (para humanos)?
Las computadoras terminan representándolos en binario, y los humanos prefieren obtener su representación decimal. ¿Por qué no apegarse a estas dos bases?
numeral-representations
Quora Feans
fuente
fuente
Respuestas:
Los números octales (base-8) y hexadecimales (base-16) son un compromiso razonable entre el sistema binario (base-2) que usan las computadoras y el sistema decimal (base-10) que usan la mayoría de los humanos.
Las computadoras no son buenas para múltiples símbolos, por lo tanto, la base 2 (donde solo tiene 2 símbolos) es adecuada para ellas, mientras que las cadenas más largas, los números con más dígitos, son menos problemáticos. Los humanos son muy buenos con múltiples símbolos, pero no son tan buenos para recordar cadenas más largas.
Octal y hexadecimal utilizan la ventaja humana de que pueden trabajar con muchos símbolos, mientras que todavía es fácilmente convertible de un lado a otro entre los binarios, porque cada dígito hexadecimal representa 4 dígitos binarios ( ) y cada dígito octal representa 3 ( 8 = 2 3 ). Creo que hexadecimal gana sobre octal porque puede usarse fácilmente para representar bytes y números de 16/32/64 bits.16=24 8=23
fuente
Los usamos por conveniencia y brevedad.
Hex y Oct son representaciones comprimidas realmente sobresalientes de binario. Hex en particular es muy adecuado para formas condensadas de direcciones de memoria. Cada dígito oct se asigna directamente a 3 bits binarios y cada dígito hexadecimal a 4 bits binarios. Este es el resultado de que las bases (8 y 16) son potencias de 2 ( y23 ). Por ejemplo, puedo escribir binario24 como hexadecimal 69 o si lo extiendo con un cero a la izquierda como oct 151 .01101001 69 151
Entonces, digamos que necesita una dirección de memoria de 64 bits. Puede mirar los 64 bits binarios o condensarlos a 16 dígitos hexadecimales. A menudo no es necesario comparar algunas direcciones para ver si son iguales o contiguas. ¿Prefieres mirar 64 bits o 16 dígitos?
fuente
Los números binarios en el texto son una pérdida de espacio.
fuente
Introducción
Como ya se mencionó en otras respuestas, puede haber diferentes anotaciones para diferentes propósitos y restricciones. Las anotaciones son en realidad una codificación como una secuencia de caracteres, y por el estudio de los algoritmos y la estructura de datos sabemos que hay muchas formas de codificar conceptos abstractos, una lista o un conjunto, por ejemplo, dependiendo de lo que queramos hacer con él. . En este caso es principalmente conveniencia algorítmica.
Al considerar la representación de números, se aplica lo mismo. Dentro de la computadora, todo es binario en el nivel más bajo, aunque se pueden usar representaciones más extrañas para algunas aplicaciones.
Fuera de la computadora, usamos cualquier tipo de representación humana comprensible, dependiendo de la conveniencia humana con respecto al tipo de valor representado. La representación binaria es a menudo demasiado larga y desestructurada para ser leída y escrita fácilmente, dando lugar a hexadecimal u octal. La elección a menudo puede tener que ver con la forma en que la información está estructurada en una palabra binaria, que no necesariamente tiene la intención de representar un número.
Pero, al considerar solo los números , es decir, la representación de números, vale la pena mirar a otros sistemas de representación de números para comprender que los factores principales son: fisiología, hábito y conveniencia.La conveniencia es, por supuesto, el factor principal que crea diversidad, ya que depende del contexto de uso.
Una mirada más amplia
Es sorprendente que todas las respuestas hasta ahora consideren solo decimal y base2norte sistemas, principalmente binarios, octales y heaxdecimales.
El cuerpo de la pregunta no parece restringido de ninguna manera a las computadoras, y los humanos han estado y todavía usan varios otros sistemas de numeración. Algunos de ellos incluso se usan dentro de las computadoras, por ejemplo cuando se trata de enteros largos (sin mencionar números no enteros ).
Una primera observación es que cuando las personas cuentan en miles o millones como una unidad, esto todavía se considera decimal, ya que estos son poderes de 10. Por lo tanto, uno podría preguntarse por qué octal o hexadecimal no debería considerarse solo una variación en binario. Una posible razón puede ser la cantidad de símbolos utilizados para representar números (aunque es un tema discutible, como veremos con otros sistemas).
Luego, con respecto a los humanos, usan varios sistemas en la base 5, llamados sistemas quinarios . En realidad, la mayoría de estos sistemas tienen dos bases, la segunda es 2 o 4, alternando con la base cinco, lo que las hace equivalentes a la base 10 (decimal) o la base 20 (vigesimal). Adivina de dónde viene eso :)
Estos sistemas de doble base se denominan sistemas bi-quinarios o cuadri-quinarios. El quinario puro rara vez se usa.
El número romano puede verse como un sistema bi-quinario (que es una indicación sobre cómo hacer aritmética con ellos). El ábaco chino y japonés utiliza bi-quinary. Quadri-quinary fue utilizado por los mayas.
Las razones para usar un sistema son probablemente muchas. Una buena razón es que fue el primer diseño local, y ahora la gente está acostumbrada. Por ejemplo, uno podría preguntarse también por qué las personas de habla inglesa todavía usan un sistema de numeración extremadamente extraño cuando intentan medir distancias. Se podría argumentar que se trata de múltiples unidades, no de numeración, pero ese es un comentario muy débil. Los números se usan principalmente para medir cosas.
Otras razones para mantener un sistema es la conveniencia en un contexto dado. Puede haber una compensación entre el número de símbolos diferentes, o las posiciones en un ábaco, y el número de símbolos necesarios para formar números suficientemente grandes. Base 2 funciona con 2 símbolos distintos, pero tiene muchas ocurrencias, lo que puede ser inconveniente para una representación material. La base vigesimal 20 requeriría veinte símbolos y tablas de multiplicar muy grandes que la gente no recordaría. Pero un sistema bi-quinary o quad-quinary es mucho más manejable, especialmente para construir ábaco. El sistema quinario puro probablemente sería aún mejor, pero va en contra de los hábitos y la intuición basados en la fisiología. Y siempre es bueno poder usar nuestros dedos para contar, cuando no sabemos nada mejor.
Pero eso no es todo.
Un sistema muy antiguo y muy común es el sistema sexagesimal utilizado para medir el tiempo y los ángulos (pero sabemos que están relacionados, a través de la rotación de la Tierra). Utiliza la base 60, pero no usa 60 símbolos, ya que son demasiados. Por lo tanto, se basa en otro sistema para representar sus símbolos (como el sistema decimal).
El círculo se puede dividir en 6 partes correspondientes a ángulos de 60 grados, que son los más simples de construir con triángulos equiláteros. Luego, cada grado es de 60 minutos de arco, cada uno dividido en 60 segundos.
De acuerdo con wikipedia
Teniendo en cuenta el origen, era un sistema bastante conveniente, en un momento en que las matemáticas apenas estaban entrando en la infancia. El ángulo de 60⁰ no solo es fácil de dibujar, sino que 60 tiene muchos factores, por lo que permitió dividir de muchas maneras con enteros, sin dejar resto.
Fisiológicamente, puede relacionarse con un sistema duodecimal-quinario, base 12 y 5. La base 12 es conveniente ya que se puede usar cuando se cuenta con huesos de 4 dedos con el pulgar de la misma mano. Luego, los dedos de la otra mano dan el componente quinario. Y12 × 5 = 60 .
Pero hay otras formas de llegar a los 60, como el sistema vigesimal-ternario de los babilonios .
¿Por qué todavía usamos el sistema sexagesimal? Supongo que estamos acostumbrados, y es posible que tengamos demasiados problemas conflictivos para que un cambio esté completamente justificado.
Es interesante notar que hay mucha interacción entre los sistemas de numeración y los sistemas de unidades. Pero esto es de esperarse ya que la medida es un papel importante para los números. Esto se nota en la oposición entre las métricas decimales y binarias para el tamaño de la memoria .
fuente
Las computadoras entienden los números binarios y en binario, los pesos del número están en potencia de 2, por lo tanto, el número de dígitos para representar un número puede ser grande dependiendo del número.
Digamos que 64 en decimal puede representarse con 7 bits, mientras que para representar el número 5000 necesitamos 13 bits.
Los sistemas de números octales y hexadecimales son una forma compacta de representar un número binario.
fuente
[What advantage is there to using a base different from ten or (a power of) two?]
, o de qué otra manera interpretasWhy not stick to [bases 2 and 10]?
?