Nibble

Nibble
A character table ordered by nibbles.

In computing, a nibble (often nybble or even nyble to simulate the spelling of byte) is a four-bit aggregation,[1] or half an octet. As a nibble contains 4 bits, there are sixteen (24) possible values, so a nibble corresponds to a single hexadecimal digit (thus, it is often referred to as a "hex digit" or "hexit").

A full byte (octet) is represented by two hexadecimal digits; therefore, it is common to display a byte of information as two nibbles. The nibble is often called a "semioctet" or a "quartet" in a networking or telecommunication context.[citation needed] Sometimes the set of all 256 byte values is represented as a table 16×16, which gives easily readable hexadecimal codes for each value.

History

One early recorded use of the term "nybble" was in 1977 within the consumer-banking technology group at Citibank that created a pre-ISO 8583 standard for transactional messages, between cash machines and Citibank's data centers, in which a nybble was the basic informational unit.

The term "nibble" originates from the fact that the term "byte" is a homophone of the English word "bite". A nibble is a small bite, which in this context is construed as "half a bite". The alternative spelling "nybble" parallels the spelling of "byte", as noted in editorials in Kilobaud and Byte in the early eighties.[citation needed]

The nibble is used to describe the amount of memory used to store a digit of a number stored in packed decimal format within an IBM mainframe. This technique is used to make computations faster and debugging easier. An 8-bit byte is split in half and each nibble is used to store one digit. The last nibble of the variable is reserved for the sign. Thus a variable which can store up to nine digits would be "packed" into 5 bytes. Ease of debugging resulted from the numbers being readable in a hex dump where two hex numbers are used to represent the value of a byte, as 16×16 = 28.

Historically, there have been cases where the term "nybble" was used for a set of bits fewer than 8, but not necessarily 4. In the Apple II microcomputer line, much of the disk drive control was implemented in software. Writing data to a disk was done by converting 256-byte pages into sets of 5-bit or, later, 6-bit nibbles; loading data from the disk required the reverse. Note that the term byte also had this ambiguity; at one time, byte meant a set of bits but not necessarily 8. Today, the terms "byte" and "nibble" generally refer to 8- and 4-bit collections, respectively, and are not often used for other sizes. The term "semi-nibble" is used to refer to a 2-bit collection, or half a nibble.

Table of nibbles

The sixteen nibbles and their equivalents in other numeral systems:

 0hex = 0dec = 0oct 0 0 0 0 1hex = 1dec = 1oct 0 0 0 1 2hex = 2dec = 2oct 0 0 1 0 3hex = 3dec = 3oct 0 0 1 1 4hex = 4dec = 4oct 0 1 0 0 5hex = 5dec = 5oct 0 1 0 1 6hex = 6dec = 6oct 0 1 1 0 7hex = 7dec = 7oct 0 1 1 1 8hex = 8dec = 10oct 1 0 0 0 9hex = 9dec = 11oct 1 0 0 1 Ahex = 10dec = 12oct 1 0 1 0 Bhex = 11dec = 13oct 1 0 1 1 Chex = 12dec = 14oct 1 1 0 0 Dhex = 13dec = 15oct 1 1 0 1 Ehex = 14dec = 16oct 1 1 1 0 Fhex = 15dec = 17oct 1 1 1 1

Extracting a nibble from a byte

In C programming language:

```#define HINIBBLE(b) (((b) >> 4) & 0x0F)
#define LONIBBLE(b) ((b) & 0x0F)
```

where `b` must be variable or constant of an integer data type. (Of course, if b is more than a byte wide, only one of the bytes will be considered).

For example, `HINIBBLE(0xAB)==0xA` and `LONIBBLE(0xAB)==0xB`.

In Common Lisp:

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

References

1. ^ Hall, D. V. (1980). Microprocessors and Digital Systems. McGraw-Hill. ISBN 0-07-025571-7.

Wikimedia Foundation. 2010.

Synonyms:
, (by nips) / , ,

Look at other dictionaries:

• nibble at — nibble (away) at [phrasal verb] nibble (away) at (something) : to make (something) disappear or go away very slowly Police have been nibbling (away) at crime in the city for years. [=police have been very slowly reducing the amount of crime in… …   Useful english dictionary

• Nibble — Nib ble, v. t. To bite upon something gently or cautiously; to eat a little of a thing, as by taking small bits cautiously; as, fishes nibble at the bait. [1913 Webster] Instead of returning a full answer to my book, he manifestly falls a… …   The Collaborative International Dictionary of English

• nibble — [n] morsel, bite crumb, peck, snack, soupçon, taste, tidbit; concepts 458,831 Ant. mouthful nibble [v] bite, pick at crop, eat, eat like a bird*, gnaw, munch, nip*, nosh on*, peck*, snack; concept 169 Ant. gorge …   New thesaurus

• Nibble — Nib ble, v. t. [imp. & p. p. {Nibbled}; p. pr. & vb. n. {Nibbling}.] [Cf. {Nip}.] To bite by little at a time; to seize gently with the mouth; to eat slowly or in small bits. [1913 Webster] Thy turfy mountains, where live nibbling sheep. Shak.… …   The Collaborative International Dictionary of English

• nibble — ib ble, n. 1. A small or cautious bite. [1913 Webster] 2. Hence: (Fig.) An expression of interest, often tentative, as at the beginning of a sale or negotiation process. [PJC] …   The Collaborative International Dictionary of English

• nibble — ► VERB 1) take small bites out of. 2) gently bite at. 3) gradually erode. 4) show cautious interest in a project. ► NOUN 1) an instance of nibbling. 2) a small piece of food bitten off …   English terms dictionary

• nibble — [nib′əl] vt. nibbled, nibbling [LME nebyllen, prob. akin to MLowG nibbelen: for IE base see NIP1] 1. to eat (food) with quick bites, taking only a small amount at a time, as a mouse does 2. to bite at with small, gentle bites vi. 1. to take small …   English World dictionary

• nibble — nib|ble1 [ˈnıbəl] v [Date: 1500 1600; Origin: Perhaps from Low German nibbeln to chew bits off ] 1.) [I and T] to eat small amounts of food by taking very small bites ▪ He nibbled the biscuit cautiously. nibble at ▪ There s a fish nibbling at my… …   Dictionary of contemporary English

• nibble — [[t]nɪ̱b(ə)l[/t]] nibbles, nibbling, nibbled 1) VERB If you nibble food, you eat it by biting very small pieces of it, for example because you are not very hungry. [V n] He started to nibble his biscuit... [V at/on n] She nibbled at the corner of …   English dictionary

• Nibble — Un nibble (ou, plus rarement nybble) est, en informatique, un agrégat de 4 bits, soit un demi octet. Un nibble contenant 4 bits, il peut prendre seize (24) valeurs différentes et correspond donc à un seul chiffre hexadécimal, d où son autre… …   Wikipédia en Français