stringtranslate.com

hexadecimal

En matemáticas e informática , el sistema numérico hexadecimal (también base 16 o simplemente hexadecimal ) es un sistema numérico posicional que representa números utilizando una base (base) de dieciséis. A diferencia del sistema decimal que representa números que utilizan diez símbolos, el hexadecimal utiliza dieciséis símbolos distintos, con mayor frecuencia los símbolos "0"–"9" para representar los valores del 0 al 9, y "A"–"F" (o alternativamente "a"–" f") para representar valores de diez a quince.

Los desarrolladores de software y diseñadores de sistemas utilizan ampliamente números hexadecimales porque proporcionan una representación amigable para los humanos de valores codificados en binario . Cada dígito hexadecimal representa cuatro bits (dígitos binarios), también conocidos como nibble (o nybble). [1] Por ejemplo, un byte de 8 bits puede tener valores que van desde 00000000 a 11111111 (0 a 255 decimal) en forma binaria, que se puede representar convenientemente como 00 a FF en hexadecimal.

En matemáticas, normalmente se utiliza un subíndice para especificar la base. Por ejemplo, el valor decimal23.973 se expresaría en hexadecimal como 5DA5 16 . En programación, varias notaciones denotan números hexadecimales, que normalmente incluyen un prefijo. El prefijo 0xse utiliza en C , lo que denotaría este valor como 0x5DA5.

El hexadecimal se utiliza en la codificación de transferencia Base16 , en la que cada byte del texto sin formato se divide en dos valores de 4 bits y se representa mediante dos dígitos hexadecimales.

Representación

representación escrita

En la mayoría de los casos de uso actuales, las letras A–F o a–f representan los valores del 10 al 15, mientras que los números del 0 al 9 se utilizan para representar sus valores decimales.

No existe una convención universal para usar minúsculas o mayúsculas, por lo que cada una prevalece o se prefiere en entornos particulares según los estándares o convenciones de la comunidad; incluso se utiliza caso mixto. Las pantallas de siete segmentos utilizan AbCdEF en mayúsculas y minúsculas mixtas para formar dígitos que se puedan distinguir entre sí.

Existe cierta estandarización en el uso de espacios (en lugar de comas u otro signo de puntuación) para separar valores hexadecimales en una lista larga. Por ejemplo, en el siguiente volcado hexadecimal , cada byte de 8 bits es un número hexadecimal de 2 dígitos, con espacios entre ellos, mientras que el desplazamiento de 32 bits al principio es un número hexadecimal de 8 dígitos.

00000000 57 69 6b 69 70 65 64 69 61 2c 20 74 68 65 20 66 00000010 72 65 65 20 65 6e 63 79 63 6c 6f 70 65 64 69 61 00000020 20 74 68 61 74 20 61 6e 79 6f 6e 65 20 63 61 6e 00000030 20 65 64 69 74 0a                                                         

Distinguir del decimal

En contextos donde la base no está clara, los números hexadecimales pueden resultar ambiguos y confundirse con números expresados ​​en otras bases. Existen varias convenciones para expresar valores sin ambigüedades. Un subíndice numérico (escrito en decimal) puede dar la base explícitamente: 159 10 es 159 decimal; 159 16 es hexadecimal 159, lo que equivale a 345 10 . Algunos autores prefieren un subíndice de texto, como 159 decimal y 159 hex , o 159 d y 159 h .

Donald Knuth introdujo el uso de un tipo de letra particular para representar una base particular en su libro The TeXbook . [2] Las representaciones hexadecimales están escritas allí en un tipo de letra de máquina de escribir : 5A3

En los sistemas de texto lineal, como los utilizados en la mayoría de los entornos de programación informática, han surgido una variedad de métodos:

Sintaxis que siempre es hexadecimal

A veces se sabe que los números son hexadecimales.

Otros símbolos para 10-15 y conjuntos de símbolos en su mayoría diferentes

El uso de las letras de la A a la F para representar los dígitos superiores al 9 no fue universal en la historia temprana de las computadoras.

bibi-binario
Propuesta de notación hexadecimal de Bruce Alan Martin [19]
Propuesta de notación hexadecimal de Ronald O. Whitaker. [20] [21]

Representaciones verbales y digitales.

Como no había números tradicionales para representar las cantidades del diez al quince, se volvieron a emplear letras alfabéticas como sustituto. La mayoría de los idiomas europeos carecen de palabras no decimales para algunos de los números del once al quince. Algunas personas leen números hexadecimales dígito por dígito, como un número de teléfono, o usando el alfabeto fonético de la OTAN , el alfabeto fonético conjunto del ejército y la marina , o un sistema ad hoc similar . A raíz de la adopción del hexadecimal entre los programadores de IBM System/360 , Magnuson (1968) [23] sugirió una guía de pronunciación que daba nombres cortos a las letras hexadecimales; por ejemplo, "A" se pronunciaba "ann", B " bet", C "chris", etc. [23] Rogers (2007) [24] publicó en línea otro sistema de denominación que intenta hacer que la representación verbal sea distinguible en cualquier caso, incluso cuando el número real no contiene números A. -F. En las tablas siguientes se enumeran ejemplos. Babb (2015) elaboró ​​otro sistema de nombres, basado en un chiste de Silicon Valley . [25]

Otros han propuesto utilizar las convenciones verbales del código Morse para expresar dígitos hexadecimales de cuatro bits, donde "dit" y "dah" representan cero y uno, respectivamente, de modo que "0000" se pronuncia como "dit-dit-dit-dit" ( ....), dah-dit-dit-dah (-..-) expresa el dígito con un valor de nueve, y "dah-dah-dah-dah" (----) expresa el dígito hexadecimal para decimal 15.

Esquema de conteo de dedos hexadecimal

Se han ideado sistemas de contar con dígitos tanto para binario como para hexadecimal. Arthur C. Clarke sugirió usar cada dedo como una broca de encendido/apagado, lo que permite contar con diez dedos desde cero hasta 1023 10 . [26] A la derecha se ilustra otro sistema para contar hasta FF 16 (255 10 ).

Señales

El sistema hexadecimal puede expresar números negativos de la misma manera que en decimal: −2A para representar −42 10 y así sucesivamente.

El hexadecimal también se puede utilizar para expresar los patrones de bits exactos utilizados en el procesador , por lo que una secuencia de dígitos hexadecimales puede representar un valor con signo o incluso de punto flotante . De esta manera, el número negativo −42 10 se puede escribir como FFFF FFD6 en un registro de CPU de 32 bits (en complemento a dos ), como C228 0000 en un registro FPU de 32 bits o C045 0000 0000 0000 en una FPU de 64 bits. registro (en el estándar de punto flotante IEEE ).

Notación exponencial hexadecimal

Así como los números decimales se pueden representar en notación exponencial , también se pueden representar los números hexadecimales. La notación P usa la letra P (o p , para "potencia"), mientras que E (o e ) tiene un propósito similar en la notación E decimal . El número después de la P es decimal y representa el exponente binario . Aumentar el exponente en 1 multiplica por 2, no por 16: 20p0 = 10p1 = 8p2 = 4p3 = 2p4 = 1p5 . Por lo general, el número se normaliza para que los dígitos hexadecimales comiencen con 1 (el cero suele ser 0 sin P ).

Ejemplo: 1.3DEp42 representa 1.3DE 16  × 2 42 10 .

La notación P es requerida por el estándar binario de punto flotante IEEE 754-2008 y puede usarse para literales de punto flotante en la edición C99 del lenguaje de programación C. [27] Utilizando los especificadores de conversión %a o %A , esta notación se puede producir mediante implementaciones de la familia de funciones printf siguiendo la especificación C99 [28] y el estándar POSIX de especificación única Unix (IEEE Std 1003.1) . [29]

Conversión

Conversión binaria

La mayoría de las computadoras manipulan datos binarios, pero a los humanos les resulta difícil trabajar con una gran cantidad de dígitos incluso para un número binario relativamente pequeño. Aunque la mayoría de los humanos están familiarizados con el sistema de base 10, es mucho más fácil asignar binario a hexadecimal que decimal porque cada dígito hexadecimal se asigna a un número entero de bits (4 · 10 ). Este ejemplo convierte 1111 2 a base diez. Dado que cada posición en un número binario puede contener un 1 o un 0, su valor puede determinarse fácilmente por su posición desde la derecha:

Por lo tanto:

Con un poco de práctica, resulta fácil mapear 1111 2 a F 16 en un solo paso: consulte la tabla en representación escrita. La ventaja de utilizar hexadecimal en lugar de decimal aumenta rápidamente con el tamaño del número. Cuando el número aumenta, la conversión a decimal es muy tediosa. Sin embargo, cuando se asigna a hexadecimal, es trivial considerar la cadena binaria como grupos de 4 dígitos y asignar cada uno a un solo dígito hexadecimal. [30]

Este ejemplo muestra la conversión de un número binario a decimal, asignando cada dígito al valor decimal y sumando los resultados.

Compare esto con la conversión a hexadecimal, donde cada grupo de cuatro dígitos se puede considerar de forma independiente y convertir directamente:

La conversión de hexadecimal a binario es igualmente directa. [30]

Otras conversiones simples

Aunque el cuaternario (base 4) se utiliza poco, se puede convertir fácilmente desde y hacia hexadecimal o binario. Cada dígito hexadecimal corresponde a un par de dígitos cuaternarios y cada dígito cuaternario corresponde a un par de dígitos binarios. En el ejemplo anterior 5 E B 5 2 16 = 11 32 23 11 02 4 .

El sistema octal (base 8) también se puede convertir con relativa facilidad, aunque no tan trivialmente como con las bases 2 y 4. Cada dígito octal corresponde a tres dígitos binarios, en lugar de cuatro. Por lo tanto, podemos convertir entre octal y hexadecimal mediante una conversión intermedia a binario seguida de reagrupar los dígitos binarios en grupos de tres o cuatro.

Resto de división en la base de origen

Como ocurre con todas las bases, existe un algoritmo simple para convertir una representación de un número a hexadecimal realizando operaciones de división de enteros y resto en la base de origen. En teoría, esto es posible desde cualquier base, pero para la mayoría de los humanos sólo el decimal y para la mayoría de las computadoras solo el binario (que puede convertirse mediante métodos mucho más eficientes) pueden manejarse fácilmente con este método.

Sea d el número a representar en hexadecimal, y la serie h i h i−1 ...h 2 h 1 sean los dígitos hexadecimales que representan el número.

  1. yo ← 1
  2. hola re mod 16
  3. re ← (re − h yo ) / 16
  4. Si d = 0 (devolver la serie h i ), en caso contrario incremente i y vaya al paso 2

"16" se puede reemplazar con cualquier otra base que se desee.

La siguiente es una implementación de JavaScript del algoritmo anterior para convertir cualquier número a hexadecimal en representación de cadena. Su propósito es ilustrar el algoritmo anterior. Sin embargo, para trabajar con datos en serio, es mucho más recomendable trabajar con operadores bit a bit .

función toHex ( d ) { var r = d % 16 ; if ( d - r == 0 ) { volver a Char ( r ); } volver a Hex (( d - r ) / 16 ) + toChar ( r ); }                          función toChar ( n ) { const alpha = "0123456789ABCDEF" ; devolver alfa . charAt ( n ); }        

Conversión mediante suma y multiplicación.

Una tabla de multiplicar hexadecimal.

También es posible realizar la conversión asignando a cada lugar en la base fuente la representación hexadecimal de su valor posicional, antes de realizar la multiplicación y la suma para obtener la representación final. Por ejemplo, para convertir el número B3AD a decimal, se puede dividir el número hexadecimal en sus dígitos: B (11 10 ), 3 (3 10 ), A (10 10 ) y D (13 10 ), y luego obtener el resultado final. resultado multiplicando cada representación decimal por 16 p ( siendo p la posición del dígito hexadecimal correspondiente, contando de derecha a izquierda, comenzando con 0). En este caso tenemos que:

B3AD = (11 × 16 3 ) + (3 × 16 2 ) + (10 × 16 1 ) + (13 × 16 0 )

que es 45997 en base 10.

Herramientas para la conversión

Muchos sistemas informáticos proporcionan una utilidad de calculadora capaz de realizar conversiones entre las distintas raíces, incluido frecuentemente el hexadecimal.

En Microsoft Windows , la utilidad Calculadora se puede configurar en modo Programador, que permite conversiones entre base 16 (hexadecimal), 10 (decimal), 8 ( octal ) y 2 ( binaria ), las bases más utilizadas por los programadores. En el modo de programador, el teclado numérico en pantalla incluye los dígitos hexadecimales del A al F, que están activos cuando se selecciona "Hex". Sin embargo, en modo hexadecimal, la Calculadora de Windows sólo admite números enteros.

Aritmética elemental

Las operaciones elementales como suma, resta, multiplicación y división se pueden realizar indirectamente mediante la conversión a un sistema numérico alternativo , como el sistema decimal comúnmente utilizado o el sistema binario donde cada dígito hexadecimal corresponde a cuatro dígitos binarios.

Alternativamente, también se pueden realizar operaciones elementales directamente dentro del propio sistema hexadecimal, confiando en sus tablas de suma/multiplicación y sus correspondientes algoritmos estándar, como la división larga y el algoritmo de resta tradicional.

Numeros reales

Numeros racionales

Al igual que con otros sistemas numéricos, el sistema hexadecimal se puede utilizar para representar números racionales , aunque las expansiones repetidas son comunes ya que dieciséis (10 16 ) tiene un solo factor primo: dos.

Para cualquier base, 0,1 (o "1/10") siempre equivale a uno dividido por la representación de ese valor base en su propio sistema numérico. Por lo tanto, ya sea que se divida uno entre dos para binario o uno entre dieciséis para hexadecimal, ambas fracciones se escriben como 0.1. Debido a que la base 16 es un cuadrado perfecto (4 2 ), las fracciones expresadas en hexadecimal tienen un período impar mucho más a menudo que las decimales, y no hay números cíclicos (aparte de los dígitos triviales de un solo dígito). Los dígitos recurrentes se exhiben cuando el denominador en términos más bajos tiene un factor primo que no se encuentra en la base; por lo tanto, cuando se usa notación hexadecimal, todas las fracciones con denominadores que no son una potencia de dos dan como resultado una cadena infinita de dígitos recurrentes (como tercios y quintos). Esto hace que el hexadecimal (y el binario) sea menos conveniente que el decimal para representar números racionales, ya que una proporción mayor se encuentra fuera de su rango de representación finita.

Todos los números racionales finitamente representables en hexadecimal también lo son finitamente en decimal, duodecimal y sexagesimal : es decir, cualquier número hexadecimal con un número finito de dígitos también tiene un número finito de dígitos cuando se expresa en esas otras bases. Por el contrario, sólo una fracción de aquellos finitamente representables en las últimas bases son finitamente representables en hexadecimal. Por ejemplo, el decimal 0,1 corresponde a la representación infinita recurrente 0,1 9 en hexadecimal. Sin embargo, el hexadecimal es más eficiente que el duodecimal y el sexagesimal para representar fracciones con potencias de dos en el denominador. Por ejemplo, 0,0625 10 (un dieciseisavo) equivale a 0,1 16 , 0,09 12 y 0;3,45 60 .

Numeros irracionales

La siguiente tabla muestra las expansiones de algunos números irracionales comunes en decimal y hexadecimal.

Potestades

Las potencias de dos tienen expansiones muy simples en hexadecimal. Las primeras dieciséis potencias de dos se muestran a continuación.

Historia cultural

Las unidades de medida tradicionales chinas eran la base 16. Por ejemplo, un jīn (斤) en el sistema antiguo equivale a dieciséis taeles . El suanpan ( ábaco chino ) se puede utilizar para realizar cálculos hexadecimales como sumas y restas. [31]

Al igual que con el sistema duodecimal , ha habido intentos ocasionales de promover el hexadecimal como sistema numérico preferido. Estos intentos a menudo proponen pronunciación y símbolos específicos para los números individuales. [32] Algunas propuestas unifican medidas estándar para que sean múltiplos de 16. [33] [34] John W. Nystrom presentó una de las primeras propuestas de este tipo en Project of a New System of Arithmetic, Weight, Measure and Coins: Proposed que se llamaría Sistema Tonal, con Dieciséis en la Base , publicado en 1862. [35] Nystrom, entre otras cosas, sugirió el tiempo hexadecimal , que subdivide un día entre 16, de modo que hay 16 "horas" (o "10 tiempos ", pronunciado tontim ) en un día. [36]

La palabra hexadecimal se registró por primera vez en 1952. [37] Es macarónico en el sentido de que combina el griego ἕξ (hex) "seis" con el latín -decimal . La alternativa totalmente latina sexadecimal (compárese con la palabra sexagesimal para base 60) es más antigua y tiene un uso al menos ocasional desde finales del siglo XIX. [38] Todavía se utiliza en la década de 1950 en la documentación de Bendix . Schwartzman (1994) sostiene que es posible que se haya evitado el uso de sexadecimal debido a su sugerente abreviatura de sexo . [39] Muchas lenguas occidentales desde la década de 1960 han adoptado términos equivalentes en formación al hexadecimal (por ejemplo, hexadécimal francés, esadecimal italiano , hexazecimal rumano, хексадецимални serbio , etc.) pero otros han introducido términos que sustituyen palabras nativas por "dieciséis" (por ejemplo, griego). δεκαεξαδικός, sextándakerfi islandés, шестнадцатеричной ruso , etc.)

La terminología y la notación no se establecieron hasta finales de los años 1960. Donald Knuth en 1969 argumentó que el término etimológicamente correcto sería sedenario , o posiblemente sedenario , un término latino destinado a transmitir "agrupados por 16" modelados en binario , ternario y cuaternario , etc. Según el argumento de Knuth, los términos correctos para decimal y octal la aritmética sería denaria y octonaria , respectivamente. [40] Alfred B. Taylor utilizó el sedenario en su trabajo de mediados del siglo XIX sobre bases numéricas alternativas, aunque rechazó la base 16 debido a su "incómodo número de dígitos". [41] [42]

La notación actual que utiliza las letras de la A a la F se establece como el estándar de facto a partir de 1966, tras la publicación del manual Fortran IV para IBM System/360 , que (a diferencia de las variantes anteriores de Fortran) reconoce un estándar. para ingresar constantes hexadecimales. [43] Como se señaló anteriormente, NEC (1960) y The Pacific Data Systems 1020 (1964) utilizaron notaciones alternativas . El estándar adoptado por IBM parece haber sido ampliamente adoptado en 1968, cuando Bruce Alan Martin, en su carta al editor del CACM , se queja de que

Dado que la ridícula elección de las letras A, B, C, D, E, F como símbolos numéricos hexadecimales se suma a los ya problemáticos problemas de distinguir números octales (o hexadecimales) de números decimales (o nombres de variables), ha llegado el momento de reconsiderar nuestros símbolos numéricos. ¡Esto debería haberse hecho antes de que las malas decisiones se convirtieran en un estándar de facto!

El argumento de Martin fue que el uso de números del 0 al 9 en números no decimales "implica para nosotros un esquema de valor posicional de base diez": "¿Por qué no utilizar símbolos (y nombres) completamente nuevos para los siete o quince dígitos distintos de cero necesarios en formato octal o hexadecimal?" "Incluso el uso de las letras de la A a la P sería una mejora, pero símbolos completamente nuevos podrían reflejar la naturaleza binaria del sistema". [19] También argumentó que "la reutilización de letras alfabéticas para dígitos numéricos representa un gigantesco paso atrás con respecto a la invención de glifos distintos, no alfabéticos, para números hace dieciséis siglos" (como números Brahmi , y más tarde en un número hindú-árabe system ), y que los estándares ASCII recientes (ASA X3.4-1963 y USAS X3.4-1968) "deberían haber conservado seis posiciones de la tabla de códigos después de los diez dígitos decimales, en lugar de llenarlas innecesariamente con caracteres de puntuación" (" ::<=>?") que podría haber sido colocado en otro lugar entre los 128 puestos disponibles.

Base16 (codificación de transferencia)

Base16 (como nombre propio sin espacio) también puede referirse a una codificación binaria de texto que pertenece a la misma familia que Base32 , Base58 y Base64 .

En este caso, los datos se dividen en secuencias de 4 bits y cada valor (entre 0 y 15 inclusive) se codifica utilizando uno de los 16 símbolos del juego de caracteres ASCII . Aunque se pueden utilizar 16 símbolos cualesquiera del conjunto de caracteres ASCII, en la práctica siempre se eligen los dígitos ASCII '0'–'9' y las letras 'A'–'F' (o las minúsculas 'a'–'f'). para alinearse con la notación escrita estándar para números hexadecimales.

Hay varias ventajas de la codificación Base16:

Las principales desventajas de la codificación Base16 son:

La compatibilidad con la codificación Base16 es omnipresente en la informática moderna. Es la base del estándar W3C para la codificación porcentual de URL , donde un carácter se reemplaza con un signo de porcentaje "%" y su forma codificada en Base16. La mayoría de los lenguajes de programación modernos incluyen directamente soporte para formatear y analizar números codificados en Base16.

Ver también

Referencias

  1. ^ "El sistema hexadecimal". Guía Digital Ionos . Archivado desde el original el 26 de agosto de 2022 . Consultado el 26 de agosto de 2022 .
  2. ^ Knuth, Donald Ervin (1986). El libro de texto. Duane Bibby. Lectura, Mass. ISBN 0-201-13447-0. OCLC  12973034. Archivado desde el original el 16 de enero de 2022 . Consultado el 15 de marzo de 2022 .{{cite book}}: CS1 maint: location missing publisher (link)
  3. ^ La cadena "\x1B[0m\x1B[25;1H"especifica la secuencia de caracteres Esc [ 0 m Esc [ 2 5; 1H Nulo . Estas son las secuencias de escape utilizadas en una terminal ANSI que restablecen el juego de caracteres y el color, y luego mueven el cursor a la línea 25.
  4. ^ "El estándar Unicode, versión 7" (PDF) . Unicódigo . Archivado (PDF) desde el original el 3 de marzo de 2016 . Consultado el 28 de octubre de 2018 .
  5. ^ "Módulo-2 - Vocabulario y representación". Módulo −2 . Archivado desde el original el 13 de diciembre de 2015 . Consultado el 1 de noviembre de 2015 .
  6. ^ "Introducción a los tipos de datos VHDL". Tutorial FPGA . 2020-05-10. Archivado desde el original el 23 de agosto de 2020 . Consultado el 21 de agosto de 2020 .
  7. ^ "Variable * base de lectura * en Common Lisp". CLHS . Archivado desde el original el 3 de febrero de 2016 . Consultado el 10 de enero de 2015 .
  8. ^ "Variable *print-base* en Common Lisp". CLHS . Archivado desde el original el 26 de diciembre de 2014 . Consultado el 10 de enero de 2015 .
  9. ^ MSX is Coming - Parte 2: Inside MSX Archivado el 24 de noviembre de 2010 en Wayback Machine Compute. , número 56, enero de 1985, p. 52
  10. ^ Los programas BBC BASIC no son completamente portátiles a Microsoft BASIC (sin modificaciones) ya que este último requiere &prefijar valores octales . (Microsoft BASIC utiliza principalmente &Oel prefijo octal y el &Hprefijo hexadecimal, pero el signo comercial por sí solo produce una interpretación predeterminada como prefijo octal.
  11. ^ "Explicación de los colores web hexadecimales". Archivado desde el original el 22 de abril de 2006 . Consultado el 11 de enero de 2006 .
  12. ^ "Codificación de caracteres ISO-8859-1 (ISO Latin 1)". www.ic.unicamp.br . Archivado desde el original el 29 de junio de 2019 . Consultado el 26 de junio de 2019 .
  13. ^ abcdefg Savard, John JG (2018) [2005]. "Aritmética informática". cuadribloc . Los primeros días del hexadecimal. Archivado desde el original el 16 de julio de 2018 . Consultado el 16 de julio de 2018 .
  14. ^ "2.1.3 Notación sexadecimal". Manual de referencia del programador G15D (PDF) . Los Ángeles, CA, EE. UU.: Bendix Computer , División de Bendix Aviation Corporation . pag. 4. Archivado (PDF) desde el original el 1 de junio de 2017 . Consultado el 1 de junio de 2017 . Esta base se utiliza porque un grupo de cuatro bits puede representar cualquiera de los dieciséis números diferentes (de cero a quince). Asignando un símbolo a cada una de estas combinaciones llegamos a una notación llamada sexadecimal (normalmente hexadecimal en conversación porque nadie quiere abreviar sexo). Los símbolos en el lenguaje sexadecimal son los diez dígitos decimales y, en la máquina de escribir G-15, las letras u, v, w, x, y y z. Éstas son marcas arbitrarias; otras computadoras pueden usar caracteres alfabéticos diferentes para estos últimos seis dígitos.
  15. ^ Gill, S.; Neagher, RE; Müller, DE; Nash, JP; Robertson, JE; Shapin, T.; Whesler, DJ (1 de septiembre de 1956). Nash, JP (ed.). "Programación ILLIAC: una guía para la preparación de problemas para su solución por parte de la computadora digital de la Universidad de Illinois" (PDF) . bitsavers.org (Cuarta impresión. Edición revisada y corregida). Urbana, Illinois, EE. UU.: Laboratorio de Computación Digital, Graduate College, Universidad de Illinois . págs. 3–2. Archivado (PDF) desde el original el 31 de mayo de 2017 . Consultado el 18 de diciembre de 2014 .
  16. ^ Computadora Electrónica ROYAL PRECISION LGP - 30 MANUAL DE PROGRAMACIÓN. Port Chester, Nueva York: Royal McBee Corporation . Abril de 1957. Archivado desde el original el 31 de mayo de 2017 . Consultado el 31 de mayo de 2017 .(NB. Esta secuencia algo extraña proviene de los siguientes seis códigos de teclado numéricos secuenciales en el código de caracteres de 6 bits del LGP-30 ).
  17. ^ Manthey, Steffen; Leibrandt, Klaus (2 de julio de 2002). "Die PERM und ALGOL" (PDF) (en alemán). Archivado (PDF) desde el original el 3 de octubre de 2018 . Consultado el 19 de mayo de 2018 .
  18. ^ Computadora digital NEC Parametron tipo NEAC-1103 (PDF) . Tokio, Japón: Nippon Electric Company Ltd. 1960. Cat. N° 3405-C. Archivado (PDF) desde el original el 31 de mayo de 2017 . Consultado el 31 de mayo de 2017 .
  19. ^ abc Martin, Bruce Alan (octubre de 1968). "Cartas al editor: sobre notación binaria". Comunicaciones de la ACM . Universidades Asociadas Inc. 11 (10): 658. doi : 10.1145/364096.364107 . S2CID  28248410.
  20. ^ ab Whitaker, Ronald O. (enero de 1972). Escrito en Indianápolis, Indiana, Estados Unidos. "Más sobre hombre/máquina" (PDF) . Letras. Datamación . vol. 18, núm. 1. Barrington, Illinois, EE. UU.: Compañía editorial técnica . pag. 103. Archivado (PDF) desde el original el 5 de diciembre de 2022 . Consultado el 24 de diciembre de 2022 .(1 pagina)
  21. ^ ab Whitaker, Ronald O. (10 de agosto de 1976) [24 de febrero de 1975]. "Pantalla combinada y selector de rango para uso con instrumentos digitales que emplean el sistema de numeración binaria" (PDF) . Indianápolis, Indiana, Estados Unidos. Patente estadounidense 3974444A. Archivado (PDF) desde el original el 24 de diciembre de 2022 . Consultado el 24 de diciembre de 2022 .(7 páginas)
  22. ^ "SN5446A, '47A, '48, SN54LS47, 'LS48, 'LS49, SN7446A, '47A, '48, SN74LS47, 'LS48, 'LS49 Decodificadores/controladores BCD a siete segmentos". Dallas, Texas, EE. UU.: Texas Instruments Incorporated . Marzo de 1988 [1974]. SDLS111. Archivado (PDF) desde el original el 20 de octubre de 2021 . Consultado el 15 de septiembre de 2021 .(29 páginas)
  23. ^ abc Magnuson, Robert A. (enero de 1968). "Una guía de pronunciación hexadecimal". Datamación . vol. 14, núm. 1. pág. 45.
  24. ^ ab Rogers, SR (2007). "Palabras numéricas hexadecimales". Intuidor . Archivado desde el original el 17 de septiembre de 2019 . Consultado el 26 de agosto de 2019 .
  25. ^ Babb, Tim (2015). "Cómo pronunciar hexadecimal". Bzarg . Archivado desde el original el 11 de noviembre de 2020 . Consultado el 1 de enero de 2021 .
  26. ^ Clarke, Arturo; Pohl, Federico (2008). El último teorema . Ballantine. pag. 91.ISBN _ 978-0007289981.
  27. ^ "ISO/IEC 9899:1999 - Lenguajes de programación - C". YO ASI . Iso.org. 2011-12-08. Archivado desde el original el 10 de octubre de 2016 . Consultado el 8 de abril de 2014 .
  28. ^ "Justificación del estándar internacional - Lenguajes de programación - C" (PDF) . Estándares abiertos . 5.10. Abril de 2003. págs. 52, 153–154, 159. Archivado (PDF) desde el original el 6 de junio de 2016 . Consultado el 17 de octubre de 2010 .
  29. ^ El IEEE y The Open Group (2013) [2001]. "dprintf, fprintf, printf, snprintf, sprintf - imprimir salida formateada". Especificaciones básicas de Open Group (Número 7, IEEE Std 1003.1, edición de 2013). Archivado desde el original el 21 de junio de 2016 . Consultado el 21 de junio de 2016 .
  30. ^ ab Mano, M. Morris; Ciletti, Michael D. (2013). Diseño digital: con una introducción a Verilog HDL (Quinta ed.). Educación Pearson . págs. 6, 8-10. ISBN 978-0-13-277420-8.
  31. ^ "算盤 Suma y resta hexadecimal en un ábaco chino". totton.idirect.com . Archivado desde el original el 6 de julio de 2019 . Consultado el 26 de junio de 2019 .
  32. ^ "Propuesta de símbolo hexadecimal base 4 ^ 2". Hauptmech . Archivado desde el original el 20 de octubre de 2021 . Consultado el 4 de septiembre de 2008 .
  33. ^ "Sede de Intuitor Hex". Intuidor . Archivado desde el original el 4 de septiembre de 2010 . Consultado el 28 de octubre de 2018 .
  34. ^ Niemietz, Ricardo Cancho (21 de octubre de 2003). "Una propuesta para agregar seis dígitos hexadecimales (AF) a Unicode". DKUUG Estandarización . Archivado desde el original el 4 de junio de 2011 . Consultado el 28 de octubre de 2018 .
  35. ^ Nystrom, John William (1862). Proyecto de un Nuevo Sistema de Aritmética, Peso, Medida y Monedas: Propone llamarse Sistema Tonal, con Dieciséis a la Base. Filadelfia: Lippincott.
  36. ^ Nystrom (1862), pág. 33: "Al expresar el tiempo, el ángulo de un círculo o los puntos del compás, la unidad tim debe anotarse como un número entero y sus partes como fracciones tonales , ya que 5·86 tims es cinco veces y metonby [*"sutim y metonby "John Nystrom accidentalmente da parte del número en nombres decimales; en el esquema de pronunciación de Nystrom, 5=su, 8=me, 6=by, cf unifoundry.com Archivado el 19 de mayo de 2021 en Wayback Machine ]".
  37. ^ CE Fröberg, Tablas de conversión hexadecimales , Lund (1952).
  38. ^ El Diccionario del Siglo de 1895 tiene sexadecimal en el sentido más general de "relativo a dieciséis". Un temprano uso explícito de sexadecimal en el sentido de "usar base 16" se encuentra también en 1895, en el Journal of the American Geographical Society of New York , vols. 27-28, pág. 197.
  39. ^ Schwartzman, Steven (1994). The Words of Mathematics: un diccionario etimológico de términos matemáticos utilizados en inglés . La Asociación Matemática de América. pag. 105.ISBN _ 0-88385-511-9.hexadecimal
  40. ^ Knuth, Donald. (1969). El arte de la programación informática , volumen 2 . ISBN 0-201-03802-1 . (Capítulo 17.) 
  41. ^ Alfred B. Taylor, Informe sobre pesos y medidas, Asociación Farmacéutica, octava sesión anual, Boston, 15 de septiembre de 1859. Véanse las páginas 33 y 41.
  42. ^ Alfred B. Taylor, "Numeración octonaria y su aplicación a un sistema de pesos y medidas", Proc Amer. Fil. Soc. Vol XXIV Archivado el 24 de junio de 2016 en Wayback Machine , Filadelfia, 1887; páginas 296–366. Ver páginas 317 y 322.
  43. ^ Lenguaje IBM System/360 FORTRAN IV Archivado el 19 de mayo de 2021 en Wayback Machine (1966), p. 13.