En informática , un nibble [1] (ocasionalmente 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 le conoce como medio byte [4] o tétrada . [5] [6] En un contexto de redes o telecomunicaciones , el mordisco a menudo se denomina semiocteto , [7] cuadrbit , [8] o cuarteto . [9] [10] Un mordisco tiene dieciséis ( 2 4 ) valores posibles. Un nibble puede representarse mediante un único dígito hexadecimal ( - ) y denominarse dígito hexadecimal . [11]0
F
Un byte completo (octeto) está representado por dos dígitos hexadecimales ( 00
- FF
); 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 fácilmente legibles para cada valor.
Las arquitecturas informáticas 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 . Se siguen utilizando en algunos microcontroladores . En este contexto, a los grupos de 4 bits también se les llamaba a veces caracteres [12] en lugar de nibbles. [1]
El término nibble proviene de su representación de "medio byte", siendo byte un homófono de la palabra inglesa bit . [4] En 2014, David B. Benson, profesor emérito de la Universidad Estatal de Washington , recordó que usó en broma (y posiblemente haya acuñado) el término nibble como "medio byte" y unidad de almacenamiento necesaria para contener un código binario. dígito decimal codificado (BCD) alrededor de 1958, cuando hablaba con un programador del Laboratorio Científico de Los Alamos . 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 los años 1980. Otro uso temprano registrado del término nybble fue en 1977 dentro del grupo de tecnología de banca de consumo de Citibank. Creó un estándar anterior a ISO 8583 para mensajes transaccionales entre cajeros automáticos y centros de datos de Citibank que utilizaba la unidad de datos básica 'nabble'.
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 una computadora central 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 cuarteto se utiliza para almacenar un dígito decimal. El último mordisco (el más a la derecha) de la variable está reservado para el signo. Por tanto, una variable que pueda almacenar hasta nueve dígitos se "empaquetará" en 5 bytes. La facilidad de depuración se debió a que los números eran legibles 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
5C
representa 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 realizaba convirtiendo páginas de 256 bytes en conjuntos de nibbles de 5 bits (más tarde, 6 bits ) y la carga de datos en el disco requería lo contrario. [13] [14] [15] Además, la documentación de 1982 para la máquina Woz integrada se refiere constantemente a un "mordisco 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 en día, los términos byte y nibble casi siempre se refieren a colecciones de 8 y 4 bits respectivamente y rara vez se utilizan para expresar otros tamaños.
Un nibble se puede representar en binario y hexadecimal de la siguiente manera:
Los términos cuarteto bajo y cuarteto alto se utilizan para indicar los cuartetos 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 del extremo izquierdo del byte forman el cuarteto alto y los cuatro bits restantes forman el cuarteto bajo. [17] Por ejemplo,
el mordisco alto es 0110 2 ( 6 16 ) y el mordisco bajo es 0001 2 ( 1 16 ). El valor total es mordisco alto × 16 10 + mordisco bajo ( 6 × 16 + 1 = 97 10 ).
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ª :
#definir HI_NIBBLE(b) (((b) >> 4) y 0x0F) #definir LO_NIBBLE(b) ((b) y 0x0F)
donde b
debe haber una variable o constante de tipo de datos integralb
y solo se utiliza el byte menos significativo de .
Por ejemplo, HI_NIBBLE(0xAB)==0xA
y LO_NIBBLE(0xAB)==0xB
.
En ceceo común :
( defun hi-nibble ( b ) ( ldb ( byte 4 4 ) b )) ( defun lo-nibble ( b ) ( ldb ( byte 4 0 ) b ))
[...] El campo característico de ocho bits a veces se denomina byte , un campo de cuatro bits se puede denominar nibble. [...]
Cada una de estas letras corresponde a uno de los números enteros del cero al quince, por lo que requiere 4 bits (una "tetrade") en representación binaria.
Un símbolo de datos representa un cuarteto (4 bits) de datos binarios.
Cada dígito hexadecimal (0–f) representa exactamente 4 bits.
[...]
Bit
: la unidad más pequeña de información que se puede representar. (Un bit puede estar en uno de dos estados: 0 o 1). [...]
Byte
: grupo de 8 bits contiguos que ocupan una única 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 que se refiere a entidades de datos de 4 bits en lugar de 8 bits . Intel cambió a usar el término más común nibble para entidades de 4 bits en su documentación para el siguiente procesador 4040 ya en 1974. )