stringtranslate.com

Picar

Una tabla de fuentes de página de código de octetos 866 ordenada por nibbles.

En informática , un nibble [1] (a veces nybble , nyble o nybl para que coincida con la ortografía de byte ) es una agregación de cuatro bits , [1] [2] [3] o medio octeto . También se conoce como medio byte [4] o tetrade . [5] [6] En un contexto de redes o telecomunicaciones , el nibble a menudo se denomina semiocteto , [7] cuadribit , [8] o cuarteto . [9] [10] Un nibble tiene dieciséis ( 2 4 ) valores posibles. Un nibble se puede representar con un solo dígito hexadecimal ( – ) y se denomina dígito hexadecimal . [11]0F

Un byte completo (octeto) se representa con dos dígitos hexadecimales ( 00FF); por lo tanto, es común mostrar un byte de información como dos nibbles. A veces, el conjunto de todos los valores de 256 bytes se representa como una tabla de 16×16 , que proporciona códigos hexadecimales de fácil lectura para cada valor.

Las arquitecturas de ordenador de cuatro bits utilizan grupos de cuatro bits como unidad fundamental. Estas arquitecturas se utilizaron en los primeros microprocesadores , calculadoras de bolsillo y ordenadores de bolsillo . Siguen utilizándose en algunos microcontroladores . En este contexto, a los grupos de 4 bits a veces también se los denominaba caracteres [12] en lugar de nibbles. [1]

Historia

El término nibble se origina de su representación de "medio byte", siendo byte un homófono de la palabra inglesa bite . [4] En 2014, David B. Benson, profesor emérito de la Universidad Estatal de Washington , recordó que usó de manera lúdica (y posiblemente haya acuñado) el término nibble como "medio byte" y unidad de almacenamiento requerida para contener un dígito decimal codificado en binario (BCD) alrededor de 1958, cuando hablaba con un programador del Laboratorio Científico de Los Álamos . La ortografía alternativa nybble refleja la ortografía de byte , como se señaló en los editoriales de Kilobaud y Byte a principios de la década de 1980. Otro uso temprano registrado del término nybble fue en 1977 dentro del grupo de tecnología de banca de consumo en Citibank. Creó un estándar anterior a ISO 8583 para mensajes transaccionales entre cajeros automáticos y los centros de datos de Citibank que usaban la unidad de datos básica 'nabble'.

El término nibble se utiliza para describir la cantidad de memoria utilizada para almacenar un dígito de un número almacenado en formato decimal empaquetado (BCD) dentro de un mainframe IBM. Esta técnica se utiliza para acelerar los cálculos y facilitar la depuración. Un byte de 8 bits se divide por la mitad y cada nibble se utiliza para almacenar un dígito decimal. El último nibble (el más a la derecha) de la variable se reserva para el signo. Por lo tanto, una variable que puede almacenar hasta nueve dígitos se "comprimiría" en 5 bytes. La facilidad de depuración se debió a que los números se pueden leer en un volcado hexadecimal donde se utilizan dos números hexadecimales para representar el valor de un byte, como 16×16 = 2 8 . Por ejemplo, un valor BCD de cinco bytes 31 41 59 26 5Crepresenta un valor decimal de +314159265.

Históricamente, hay casos en los que se utilizó nybble para un grupo de bits mayor que 4. En el Apple II , gran parte del control de la unidad de disco y la grabación codificada por grupos se implementó en software. La escritura de datos en un disco se realizó convirtiendo páginas de 256 bytes en conjuntos de nibbles de 5 bits (más tarde, de 6 bits ) y la carga de datos del disco requería lo inverso. [13] [14] [15] Además, la documentación de 1982 para la Integrated Woz Machine se refiere consistentemente a un "nibble de 8 bits". [16] El término byte alguna vez tuvo la misma ambigüedad y significaba un conjunto de bits pero no necesariamente 8, de ahí la distinción de bytes y octetos o de nibbles y cuartetos (o quadbits ). Hoy, los términos byte y nibble casi siempre se refieren a colecciones de 8 y 4 bits respectivamente y muy raramente se usan para expresar otros tamaños.

Representación binaria y hexadecimal

Un nibble se puede representar en binario y hexadecimal de la siguiente manera:

Bocados bajos y altos

Los términos nibble bajo y nibble alto se utilizan para denotar los nibbles que contienen, respectivamente, los bits menos significativos y los bits más significativos dentro de un byte. En las representaciones gráficas de bits dentro de un byte, el bit más a la izquierda podría representar el bit más significativo ( MSB ), correspondiente a la notación decimal ordinaria en la que el dígito a la izquierda de un número es el más significativo. En tales ilustraciones, los cuatro bits en el extremo izquierdo del byte forman el nibble alto y los cuatro bits restantes forman el nibble bajo. [17] Por ejemplo,

noventa y siete = 97 10 = (0110 0001) 2 = 61 16

El nibble alto es 0110 2 ( 6 16 ), y el nibble bajo es 0001 2 ( 1 16 ). El valor total es nibble alto × 16 10 + nibble bajo ( 6 × 16 + 1 = 97 10 ).

Extraer un nibble de un byte

Se puede extraer un nibble de un byte realizando una operación AND lógica bit a bit y, opcionalmente, un desplazamiento de bit dependiendo de si se va a extraer el nibble alto o bajo.

Cª : ​

#define HI_NIBBLE(b) (((b) >> 4) y 0x0F) #define LO_NIBBLE(b) ((b) y 0x0F)

donde bdebe ser una variable o constante de un tipo de datos integralb , y solo se utiliza el byte menos significativo de .

Por ejemplo, HI_NIBBLE(0xAB)==0xAy LO_NIBBLE(0xAB)==0xB.

En Common Lisp :

( defun hi-nibble ( b ) ( ldb ( byte 4 4 ​​) b )) ( defun lo-nibble ( b ) ( ldb ( byte 4 0 ) b ))              

Véase también

Referencias

  1. ^ abc Raphael, Howard A., ed. (noviembre de 1974). "Las funciones de una computadora: registro de instrucciones y decodificador" (PDF) . Manual del usuario de MCS-40 para diseñadores lógicos . Santa Clara, California, EE. UU.: Intel Corporation . pág. viii. Archivado (PDF) desde el original el 2020-03-03 . Consultado el 2020-03-03 . [...] El campo característico de ocho bits a veces se denomina byte , un campo de cuatro bits puede denominarse nibble. [...]
  2. ^ Hall, Douglas V. (1980). Microprocesadores y sistemas digitales . McGraw-Hill . ISBN. 0-07-025571-7.
  3. ^ Warren Jr., Henry S. (2013) [2002]. Hacker's Delight (2.ª edición). Addison WesleyPearson Education, Inc. ISBN  978-0-321-84268-8. 0-321-84268-5.
  4. ^ de Raymond, Eric S. (1996). El nuevo diccionario del hacker. MIT Press . pág. 333. ISBN 978-0-262-68092-9.
  5. ^ Carr, John W. Introducción al uso de computadoras digitales: Notas de la Conferencia de verano celebrada en el Centro de Cómputo de la Universidad de Carolina del Norte, Chapel Hill, NC, del 17 al 28 de agosto de 1959. Investigación de vanguardia sobre computadoras digitales. Vol. 1. Universidad de Carolina del Norte en Chapel Hill, Centro de Cómputo. pág. 211. Cada una de estas letras corresponde a uno de los números enteros del cero al quince, por lo que se requieren 4 bits (una "tetrada") en la representación binaria.
  6. ^ Speiser, Ambrosius Paul (1965) [1961]. Digitale Rechenanlagen - Grundlagen / Schaltungstechnik / Arbeitsweise / Betriebssicherheit [ Computadoras digitales - Conceptos básicos / Circuitos / Operación / Confiabilidad ] (en alemán) (2 ed.). ETH Zürich , Zúrich, Suiza: Springer-Verlag / IBM . págs.6, 34, 165, 183, 208, 213, 215. LCCN  65-14624. 0978.
  7. ^ Puzman, Josef; Kubin, Boris (2012). Redes públicas de datos: de las PDN independientes a la RDSI. Springer Science+Business Media . p. 113. ISBN 978-1-4471-1737-7.
  8. ^ Horak, Ray (2007). Diccionario Webster de telecomunicaciones del Nuevo Mundo. John Wiley & Sons . pág. 402. ISBN 978-0-470-22571-4.
  9. ^ Brewster, Ronald L. (1994). Comunicaciones y redes de datos, vol. III. Serie de telecomunicaciones del IEE. Vol. 31. Institution of Electrical Engineers . pág. 155. ISBN 978-0-85296-804-8Un símbolo de datos representa un cuarteto (4 bits) de datos binarios.
  10. ^ Courbis, Pablo ; Lalande, Sébastien (27 de junio de 2006) [1989]. Voyage au centre de la HP28c/s (en francés) (2 ed.). París, Francia: Editions de la Règle à Calcul. OCLC  636072913. Archivado desde el original el 6 de agosto de 2016 . Consultado el 6 de septiembre de 2015 .[1] [2] [3] [4] [5] [6]
  11. ^ Heller, Steve (1997). Introducción a C++. Morgan Kaufmann . pág. 27. ISBN 978-0-12-339099-8Cada dígito hexadecimal (0 – f) representa exactamente 4 bits.
  12. ^ "Términos y abreviaturas" (PDF) . Manual de programación en lenguaje ensamblador MCS-4 – Manual de programación del sistema de microcomputadoras INTELLEC 4 (edición preliminar). Santa Clara, California, EE. UU.: Intel Corporation . Diciembre de 1973. págs. v, 2-6. MCS-030-1273-1. Archivado (PDF) desde el original el 2020-03-01 . Consultado el 2020-03-02 . [...] Bit : la unidad de información más pequeña que se puede representar. (Un bit puede estar en uno de dos estados: 0 o 1). [...] Byte : un grupo de 8 bits contiguos que ocupan una sola ubicación de memoria. [...] Carácter : un grupo de 4 bits de datos contiguos. [...](NB. Este manual de Intel 4004 utiliza el término carácter para referirse a entidades de datos de 4 bits en lugar de 8 bits . Intel pasó a utilizar el término más común "nibble" para entidades de 4 bits en su documentación para el procesador siguiente, el 4040 , ya en 1974.)
  13. ^ Worth, Don D.; Lechner, Pieter M. (mayo de 1982) [1981]. Beneath Apple DOS (4.ª impresión, 1.ª ed.). Reseda, California, EE. UU.: Quality Software . Consultado el 21 de marzo de 2017 .[7][8][9] Archivado el 9 de marzo de 2016 en Wayback Machine.
  14. ^ Worth, Don D.; Lechner, Pieter M. (marzo de 1985) [1984]. Beneath Apple ProDOS: para usuarios de computadoras Apple II Plus, Apple IIe y Apple IIc (PDF) (segunda impresión, primera edición). Chatsworth, California, EE. UU.: Quality Software . ISBN 0-912985-05-4. LCCN  84-61383. Archivado (PDF) del original el 21 de marzo de 2017. Consultado el 21 de marzo de 2017 .[10]
  15. ^ Copy II Plus Version 9 – ProDOS/DOS Utilities – Data Recovery, File Management, Protected Software Backup (PDF) . 9.0. Central Point Software, Inc. 1989-10-31 [1982]. Archivado desde el original (PDF) el 2017-05-07 . Consultado el 2017-03-21 .
  16. ^ Apple Computer, Inc. (febrero de 1982) [1978]. Especificación de la máquina Woz integrada (IWM) (PDF) (19.ª ed.). DigiBarn Computer Museum. Archivado (PDF) desde el original el 2016-08-06 . Consultado el 2016-08-06 .
  17. ^ Baccala, Brent (abril de 1997). «Aritmética binaria». Connected: An Internet Encyclopedia (3.ª ed.). Archivado desde el original el 6 de agosto de 2016. Consultado el 20 de julio de 2015 .

Enlaces externos