Fact-checked by Grok 2 weeks ago

Nibble

A nibble, also known as a nybble or nyble to parallel the spelling of byte, is a fundamental unit of digital information in , consisting of four binary digits (bits), which represents half of an eight-bit byte. This grouping allows a nibble to encode 16 possible values, ranging from 0 (binary 0000) to 15 (binary 1111) in notation, or equivalently from 0 to F in . The term "nibble" originated in 1958 from a by David B. Benson, who referred to four bits as "half a bite" during a with a at the Los Alamos Scientific Laboratory, building on the mastication theme with "bit" for binary digit and "byte" for a larger unit. This etymology underscores its role as "half a bite," with the alternative spelling "nybble" sometimes used to emphasize the linguistic pun. The concept gained further prominence in the 1970s with early 4-bit microprocessors, building on earlier uses in (BCD) encoding from the mid-20th century, which utilized nibble-sized data paths for efficient storage and processing in devices like pocket calculators and embedded systems. In practice, nibbles play a key role in various applications, particularly in notation where each of the 16 hexadecimal digits directly corresponds to one nibble, facilitating compact representation of in programming and . They are also essential in BCD systems, where each digit (0-9) is stored using four bits, enabling straightforward between and formats in legacy mainframes and financial . Additional uses include nibble interleaving in communication protocols for lower-speed channels into higher-speed links, and in low-level languages for in microcontrollers. Despite the dominance of byte-oriented architectures today, the nibble remains a foundational concept in understanding data granularity and organization across modern systems.

Fundamentals

Definition

A nibble is a fundamental unit of digital information in , consisting of four digits, or bits. It represents half the size of a byte, which is composed of eight bits, making the nibble a convenient subunit for certain manipulations and representations. The term is also spelled nybble in some contexts, with additional alternative names including half-byte, tetrade, semi-octet, quadbit, or , reflecting its role as a four-bit grouping across various technical domains. Etymologically, "nibble" draws from the concept of a small bite, punning on the larger "byte" to emphasize its diminutive scale in data units. Mathematically, a nibble accommodates $2^4 = [16](/page/16) possible distinct values, underscoring its capacity within systems.

Relation to Other Data Units

The nibble occupies an intermediate position in the hierarchy of digital data units, bridging the bit and the byte. A bit constitutes the smallest unit of information in systems, comprising a single that can represent 2 possible values (0 or 1). By contrast, a byte consists of 8 bits, permitting 256 distinct values. Two nibbles combine to form one byte. In networking contexts, this 8-bit aggregation is termed an octet, serving as the standard unit in protocols such as the . Rarely used units like the crumb, defined as 2 bits, provide even smaller groupings but remain distinct from the nibble. The byte, however, persists as the conventional 8-bit unit across most applications. Nibbles support finer-grained data manipulation than full bytes while offering coarser resolution than individual bits, enabling efficient operations in areas such as bit packing and encoding.

History

Origin of the Term

The term "nibble" in derives from its role as half a byte, playing on the of "byte" with the English word "bite," such that a nibble represents a smaller portion akin to taking a small bite. This etymological emerged in the context of early unit nomenclature during the 1950s transition to standardized groupings. The alternative spelling "nybble" was adopted in some contexts to parallel the idiosyncratic spelling of "byte" and evoke a whimsical in terminology, though "byte" held no formal that necessitated avoidance. One early attribution for the coinage traces to around 1958, when , then working on projects, reportedly used the term in a joking remark to a at the , describing the four bits needed to store a as a "nibble" or half a byte. , later a emeritus at , positioned it as an informal invention amid discussions of storage efficiency in early computing systems. Documented printed uses of the term appeared in technical literature by the mid-1970s. For instance, Intel's 1974 MCS-40 User's Manual employed "nibble" to denote a four-bit field in the architecture of its 4-bit microprocessor family, such as in instruction formats and RAM organization where data was handled in 4-bit segments. The spelling "nybble" gained traction in the 1970s within technical publications. By the early 1980s, "nibble" and "nybble" appeared routinely in industry publications like Byte magazine, solidifying the term's adoption in hardware documentation and programming contexts.

Early Adoption in Computing

The concept of the nibble, as a 4-bit unit, gained practical traction in the 1960s through its integration into mainframe computing for efficient decimal data representation. In the IBM System/360, introduced in 1964, packed decimal format utilized nibbles to encode binary-coded decimal (BCD) digits, allowing two digits (0-9) to be stored per byte for compact numeric processing in commercial applications. This approach supported variable-length fields up to 31 digits plus a sign, enabling direct arithmetic operations on decimal data without conversion to binary, which was particularly valuable for business-oriented systems. By the 1970s, nibbles became central to the architecture of early and embedded systems, exemplified by the , the world's first commercial released in 1971. Designed as a 4-bit processor for the 141-PF calculator, the 4004 handled data in nibble-sized chunks, processing one 4-bit unit at a time to perform arithmetic and logic operations efficiently within its limited 2,300 design. This 4-bit focus extended to handheld calculators and other low-cost devices of the era, where nibble-based processing minimized hardware complexity and power consumption, paving the way for broader adoption in . In the 1980s, nibbles saw expanded use in s, peripherals, and storage systems, supporting data density in resource-constrained environments. For instance, the Apple II's drive employed a 5-bit nibble encoding scheme in its (frequency modulation) format to store sector data, converting 8-bit bytes into pairs of 5-bit nibbles (accounting for clock bits) to achieve 10 sectors per track on 5.25-inch floppies. Later enhancements, such as 6-bit nibbles in upgraded formats, further optimized storage for peripherals and interfaces, reflecting nibbles' role in balancing encoding efficiency with hardware limitations. As computing shifted toward 8-bit bytes in the late 1970s and 1980s with processors like the and , nibbles persisted in legacy systems for compatibility in decimal arithmetic and data manipulation. Mainframes and minicomputers continued to rely on nibble-based BCD for financial and inventory applications, ensuring seamless handling of pre-existing datasets despite the dominance of byte-oriented architectures.

Representation

Binary and Decimal Values

A nibble, consisting of four binary digits, can represent 16 distinct values ranging from 0000 to 1111 in binary, corresponding to the decimal integers 0 through 15. This range arises because each bit can be either 0 or 1, yielding $2^4 = 16 possible combinations. The decimal value of a nibble is determined by the positional weighting of its bits, where the leftmost bit (most significant) has a weight of 8 ($2^3), followed by 4 ($2^2), 2 ($2^1), and 1 ($2^0) for the rightmost bit (least significant). This weighting reflects the binary place-value system, enabling the conversion from binary to decimal through summation of each bit multiplied by its positional power of 2. The formula for calculating the value V of a nibble with bits b_3 (leftmost), b_2, b_1, and b_0 (rightmost) is: V = (b_3 \times 8) + (b_2 \times 4) + (b_1 \times 2) + (b_0 \times 1) where each b_i is 0 or 1. Nibbles are typically used to represent unsigned positive integers from 0 to 15. However, they can also be interpreted as signed integers using representation, ranging from -8 to 7. The following table enumerates all 16 possible nibble values in and their equivalent representations:
BinaryDecimal
00000
00011
00102
00113
01004
01015
01106
01117
10008
10019
101010
101111
110012
110113
111014
111115

Hexadecimal Mapping

A nibble, consisting of four binary bits, corresponds exactly to one digit, which ranges from 0 to 9 for values 0 through 9, and A through F for values 10 through 15. This one-to-one alignment facilitates the conversion between and a more compact human-readable format, where each 4-bit group is encoded as a single symbol. The precise mapping between binary nibble values and hexadecimal digits is as follows:
Hex Digit Value Value
000000
100011
200102
300113
401004
501015
601106
701117
810008
910019
A101010
B101111
C110012
D110113
E111014
F111115
This table demonstrates how each possible nibble configuration maps uniquely to a hexadecimal symbol, enabling straightforward translation without ambiguity. The primary advantage of this hexadecimal mapping lies in its ability to condense representations: a full 4-bit nibble, which would require writing four digits, is reduced to one character, streamlining the display and manipulation of in computing environments. For instance, it is commonly employed in dumps to visualize byte contents as pairs of digits, in addresses for concise notation, and in low-level programming for efficient code inspection and operations. Hexadecimal notation evolved alongside the nibble in mid-20th-century , with an early variant appearing in the computer in 1956 using letters U through Z for values 10 to 15. further advanced this by coining the term "" in 1963 and integrating the standard 0-9 and A-F scheme into their System/360 architecture in 1964, optimizing the representation of 4-bit digits in binary-coded systems.

Structure Within Bytes

High Nibble

The high nibble, also known as the high-order nibble, consists of the most significant four bits in an 8-bit byte, specifically bits 7 through 4 when numbered from the most significant bit (bit 7) to the least significant bit (bit 0). This positioning makes it the senior half of the byte, contrasting with the low nibble formed by bits 3 through 0. For illustration, consider the byte with a value of 97, which in is represented as 01100001. The high nibble here is 0110, equivalent to 6 or 6. In programming and low-level operations, the high nibble can be extracted using a right-shift by 4 bits, such as value >> 4, which repositions bits 7-4 into the least significant positions while discarding the low nibble. To isolate it more precisely, especially in contexts with potential higher bits, a bitwise AND with 0xF0 ( 11110000) is often applied before or after shifting, ensuring only the high nibble's bits are retained. The high nibble's significance lies in its contribution to the byte's overall higher-order , as it represents the more weighted portion in arithmetic, and its isolation via masking enables targeted manipulation in without affecting the low nibble.

Low Nibble

The low nibble, also known as the junior or least significant nibble, consists of the four rightmost bits (bits 3 through 0) within an 8-bit byte. This positioning makes it the counterpart to the high nibble, which occupies the more significant bits. As the lower-order portion of the byte, the low nibble encodes values ranging from 0 to 15 in decimal (or 0 to F in ), capturing the byte's when divided by 16. For instance, consider the byte with a value of 97, which in is represented as 01100001. The low nibble here is the rightmost group of four bits: 0001, equivalent to 1 or 1. This illustrates how the low nibble isolates the byte's lower-order magnitude, independent of the higher bits' contribution to the overall value. To extract the low nibble from a byte in programming or operations, a bitwise AND operation is commonly applied with the mask 0x0F ( 00001111), which preserves bits 3-0 while zeroing out bits 7-4. For example, performing value & 0x0F on the byte 97 (0x61) yields 0x01. This technique is fundamental in low-level tasks, such as masking for or interfacing with peripherals. In arithmetic contexts, the low nibble's value directly corresponds to the result of modulo- operations on the byte, emphasizing its role in representing the lower-order component for calculations that wrap around every 16 units. This property is particularly useful in scenarios involving conversions, BCD , or cyclic counters where only the least significant quartet of bits matters.

Applications

In and Processors

In hardware architectures, the nibble serves as a fundamental unit for and , particularly in early and specialized processors where 4-bit operations align with decimal digit representation in (BCD) formats. The concept of 4-bit groupings emerged in the early alongside BCD systems in mainframe computers, enabling efficient handling of numeric data without full byte overhead. The , introduced in 1971 as the first commercial microprocessor, exemplifies nibble-centric design in 4-bit processors. This chip features a 4-bit (ALU) that performs operations on nibble-sized data, with instructions often composed of one or more 4-bit fields for arithmetic and logic tasks, such as and logical AND/OR. Supporting components like the 4002 RAM chip store data in 4-bit nibbles, totaling up to 80 nibbles per chip for registers and memory, allowing packed BCD arithmetic suitable for applications. In the , embedded systems and calculators further adopted nibbles for digit processing. Devices like the TI-30 scientific calculator, released in 1976, utilized the TMS0980 4-bit microcontroller, which stored each decimal digit in a 4-bit nibble within its 144-nibble RAM array, facilitating efficient BCD operations for arithmetic functions. This approach minimized hardware complexity while supporting scientific computations on limited resources. Contemporary hardware retains nibble alignments in select contexts for efficiency. In , such as those from (now Microchip), programmers employ nibble masks on 8-bit registers during bit-banging to implement custom protocols, isolating 4-bit fields for precise pin control without full-byte overhead. Similarly, USB protocols parse 4-bit fields, notably the Packet Identifier (), a nibble complemented to form an 8-bit value for error-checked packet typing in token, data, and handshake packets. For power-constrained environments, 4-bit operations offer advantages in low-power devices by reducing and switching activity compared to 8-bit alternatives. A 4-bit (ISA), as in the NanoController, enables ultra-low-energy pre-processing of data, keeping the main dormant to achieve sub-microwatt consumption in always-on nodes.

In Data Encoding Formats

In (BCD) encoding, each digit from 0 to 9 is represented by a distinct 4-bit nibble, allowing direct mapping without the inefficiencies of pure for . This scheme ensures that values like 0 (0000) through 9 (1001) occupy exactly one nibble, facilitating compatibility with -based systems in early and legacy applications. A common variant is packed BCD, particularly in IBM systems, where two decimal digits are compressed into a single byte by placing one in the high nibble and one in the low nibble, with the final nibble often reserved for a sign indicator such as 1100 for positive or 1101 for negative. This packing doubles the density compared to unpacked BCD, making it efficient for storage in mainframes and financial computations where decimal precision is paramount. In formats, nibbles play a key role in group code recording (GCR) schemes, as seen in DOS 3.3, which employs variable symbol widths of 5 or 6 bits to encode data on 5.25-inch floppy disks, achieving a formatted capacity of approximately 140 per single-sided disk. Specifically, the 6-and-2 encoding variant processes three logical bytes (24 bits) into four disk octets (32 bits) at 75% efficiency, while self-sync sequences help align the bitstream to byte boundaries during read operations. This nibble-oriented decoding maximizes storage on 35 tracks with 16 sectors each, supporting the era's needs. For error detection, nibble boundaries are utilized in schemes like CRC-4, a 4-bit applied to detect burst errors up to 4 bits in length within data symbols aligned to 4-bit units, such as on E1 trunk lines. The CRC-4 , often x⁴ + x + 1, generates check bits inserted across multi-frames, where mismatches at nibble edges signal transmission faults in and early packet networks. Similarly, checks over 4-bit symbols leverage nibble isolation to identify single-bit flips or odd-error patterns without requiring full-byte recomputation. In networking protocols, addresses are parsed using nibble boundaries, with the 128-bit address divided into eight 16-bit groups, each rendered as four digits corresponding to individual nibbles for textual representation and alignment. This structure enables efficient address parsing by allowing direct nibble-wise extraction during header processing, as colons separate groups and leading zeros are omitted for compactness. In modern data transmission, hex dumps in payloads maintain nibble-hex alignment, where each byte is encoded as two hex digits to represent binary data readably over protocols like , ensuring lossless integrity in and web services.

References

  1. [1]
    What is a nibble in computers and digital technology? - TechTarget
    Nov 9, 2022 · A nibble is four consecutive binary digits or half of an 8-bit byte. When referring to a byte, it is either the first four bits or the last four bits.
  2. [2]
    Definition of nibble | PCMag
    The terms nibble and byte were coined in the 1960s by IBM when it switched from six-bit binary-coded decimal (BCD) characters to the eight-bit byte ...
  3. [3]
    What is a nibble? Nibble and other units of information explained
    Aug 12, 2021 · A “nibble” (also “nybble” and “nyble” when referring to a “byte”) is the second smallest unit of information for data transmission and storage.
  4. [4]
    what is a nibble ? - GeeksforGeeks
    Jul 23, 2025 · A nibble is a fundamental unit of storage. It consists of 4 bits, which can represent 16 different values ranging from 0 to 15 in decimal notation.
  5. [5]
    Definition: byte - ComputerLanguage.com
    In the 1950s, IBM coined the terms "byte" and "nibble" (half a byte) to maintain the mastication theme "bit, bite, nibble." From Bite to Byte IBM coined the ...
  6. [6]
    Bits, Nibbles, and Bytes - Binary - SparkFun Learn
    Each 1 or 0 in a binary number is called a bit. From there, a group of 4 bits is called a nibble, and 8-bits makes a byte. Bytes are a pretty common buzzword ...
  7. [7]
    [PDF] 1 Metric prefixes 2 Bits, bytes, nibbles, and pixels
    A collection of 8 bits is referred to as a byte. Occasionally, computer scientists also like to refer to chunks of 4 bits; the term for this is a nibble. Bits ...
  8. [8]
    [PDF] Bit, Byte, and Binary
    nibble: Half a byte – four bits. Nibbles are important in hexadecimal and BCD representations. The term is sometimes spelled nybble. byte: Abbreviation for ...
  9. [9]
    Nibble -- from Wolfram MathWorld
    Four bits or half a byte, also sometimes spelled "nybble." Since a nibble encodes values from 0 to 2^4-1=15, it can conveniently be represented using a single ...
  10. [10]
    [PDF] Ronald T. Kneusel — «Numbers and Computers
    Since byte came from “bite” it is natural to be tempted to call half a byte, which is a four bit number, a “nibble” since a nibble is a small bite. Hence ...Missing: etymology | Show results with:etymology<|control11|><|separator|>
  11. [11]
    Bit -- from Wolfram MathWorld
    The smallest unit of binary information, equal to a single 0 or 1. Two bits are called a crumb, four bits are called a nibble, and eight bits are called 1 byte.Missing: definition | Show results with:definition
  12. [12]
    Binary Information and Representation: Bits, Bytes, Nibbles, Octets ...
    A collection of eight bits is technically called an octet, but is more commonly called a byte. (More on that in a moment.) “Byte” is a jocular play on the term ...
  13. [13]
    From the Noggin to the Butt: Quirky Measurement Units Throughout ...
    Mar 30, 2022 · In computing, engineers came up with the nibble (four bits of information) and the crumb (two bits), building upon the wordplay that began ...
  14. [14]
    RFC 791: Internet Protocol
    ### Definition and Relation of Octet to Bits or Bytes in RFC 791
  15. [15]
    Crumb -- from Wolfram MathWorld
    Two bits or half a nibble. Since a crumb encodes values from 0 to 2^2-1=3, it can conveniently be represented using single quaternary digit.Missing: unit relation
  16. [16]
    Store two numbers in one Byte using Bit manipulation
    Jul 23, 2025 · As each of the number have maximum 4 bits we can use a nibble to store one number. Nibble is a four-bit aggregation or half an octet. For 1 byte ...
  17. [17]
  18. [18]
    None
    Summary of each segment:
  19. [19]
    A half byte is known as? - MindStick Q&A
    Mar 15, 2019 · Benson, a professor emeritus at Washington State University, remembers using the phrase nibble as 'half a byte' and the amount of storage ...
  20. [20]
    [PDF] Systems Reference Library IBM System/360 Principles of Operation
    This manual describes the IBM System/360's structure, arithmetic, logical, branching, status switching, input/output, and interruption operations.Missing: BCD nibble
  21. [21]
    Microprocessors Flourish - CHM Revolution
    The 8-bit Generation​​ Intel's 4004 processed one 4-bit “nibble” at a time. But broader use required microprocessors able to manipulate at least 8-bit “bytes.” ...Missing: usage | Show results with:usage
  22. [22]
    Nibble Image Files - CiderPress II
    A "nibble" is a 4-bit value. The original Apple II floppy format used FM-style 4&4 encoding to store sector data (allowing 10 sectors per track), so each byte ...Missing: technical | Show results with:technical
  23. [23]
    Binary Numbers
    Four binary digits (or bits) are called a nibble. A nibble can be equal to 0 through 15 in decimal numbers: 00002 through 11112. Eight bits are called a byte.
  24. [24]
    [PDF] Number Systems and Number Representation - cs.Princeton
    Decimal-Binary Conversion. Binary to decimal: expand using positional notation. 8. 100101B = (1*25)+(0*24)+(0*23)+(1*22)+(0*21)+(1*20). = 32 + 0 + 0 + 4 + 0 + 1.
  25. [25]
    [PDF] Number Systems (B)
    Jan 15, 2014 · Conversion between the Binary number system to the Decimal number system is quite easy. Just take each bit and multiply it by two raised to the ...
  26. [26]
    [PDF] Binary Representation
    Converting from ANY base to decimal is done by multiplying each digit by its weight and summing. Binary to Decimal. 0b1011.11 = 1*23 + 0*22 + 1*21 + 1*20 + 1*2 ...
  27. [27]
    Chapter 2: Fundamental Concepts
    A nibble is defined as 4 binary bits, or one hexadecimal digit. Each value of the 4-bit nibble is mapped into a unique hex digit, as shown in Table 2.1. Hex ...
  28. [28]
    [PDF] CS107, Lecture 2
    Instead, we'll often encode numbers in base-16, or hexadecimal, instead. ... The System/360, developed by IBM in 1964, was widely popular—it had 1024KB memory!!!
  29. [29]
    [PDF] g15 d programmer's - Bitsavers.org
    The Bendix G-15 is a compact, powerful, internally-programmed, general-purpose digital computer of unusual versatility.
  30. [30]
    Hexadecimal Notation - an overview | ScienceDirect Topics
    The term "hexadecimal" was coined by IBM in 1963, deriving from the Greek "hexi" (six) and Latin "decem" (ten), although a more proper term would use the ...
  31. [31]
    3.3 Data Organization - Plantation Productions
    Bits 0..3 comprise the low order nibble, bits 4..7 form the high order nibble. Since a byte contains exactly two nibbles, byte values require two ...3.3. 2 Nibbles · 3.3. 3 Bytes · 3.3. 4 Words<|control11|><|separator|>
  32. [32]
    Organizing those 1s and 0s - Fedora Magazine
    Dec 13, 2019 · So the Lower Nibble is the least significant half of the number in the byte. Likewise the least significant bit is on the right LSBit (usually ...
  33. [33]
    [PDF] 6.004 Computation Structures - MIT OpenCourseWare
    We can see that the code shifts R1 left by a nibble (4 bits) and ors it with the low nibble (R3) of the user's entered password (R0). It then shifts the ...
  34. [34]
    Werner Buchholz Coins the Term "Byte", Deliberately Misspelled to ...
    In July 1956 German born American computer scientist Werner Buchholz Offsite Link coined the term byte Offsite Link as a unit of digital information.Missing: origin nibble
  35. [35]
    [PDF] Datasheet Intel 4004 - Index of /
    The Intel® 4004 is a complete 4-bit parallel central processing unit (CPU). The 4004 easily interfaces with keyboards, switches, displays, A-D converters ...Missing: nibble | Show results with:nibble
  36. [36]
    The Strangeness Of The Intel 4004 - The Chip Letter - Substack
    Sep 4, 2022 · The maximum space for data was 1280 4-bit 'nibbles' (or 640 bytes) in total. This would normally be populated by several 4002 RAM chips each ...
  37. [37]
    TMS-0980 - Sean Riddle's Home Page
    The die is similar to the TMS-1100, but it has 2K of 9-bit ROM and 144 4-bit nibbles of RAM. ... TI-30 calculator. Texas Instruments scientific calculator ...Missing: processor | Show results with:processor
  38. [38]
    Reverse engineering RAM storage in early Texas Instruments ...
    Nov 28, 2020 · 1 A 4-bit processor now seems very limited, but it was a good match for calculators, where each decimal digit fit into four bits. This ...
  39. [39]
    USB in a NutShell - Chapter 3 - USB Protocols - Beyondlogic
    There are 4 bits to the PID, however to insure it is received correctly, the 4 bits are complemented and repeated, making an 8 bit PID in total. The ...Missing: nibbles | Show results with:nibbles
  40. [40]
  41. [41]
    [PDF] BINARY-CODED DECIMAL (BCD)
    To BCD-encode a decimal number using the common encoding, each decimal digit is stored in a four-bit nibble. Decimal: 0 1 2 3 4 5 6 7 8 9. BCD: 0000 0001 0010 ...
  42. [42]
    Binary-coded decimal built-in functions - IBM
    Binary-coded decimal (BCD) values are compressed, with each decimal digit and sign bit occupying 4 bits. Digits are ordered right-to-left in the order of ...
  43. [43]
    What is CRC-4 (Cyclic Redundancy Check 4)? - TechTarget
    Jun 18, 2021 · This is a basic method that can detect simple errors by appending a redundant bit known as a parity bit at the end of the data unit to create an ...
  44. [44]
    RFC 4291: IP Version 6 Addressing Architecture
    ### Summary of IPv6 Address Text Representation (RFC 4291, Section 2.2)
  45. [45]
    How to Process JSON, Hex, and Binary Data in MQTT | EMQ - EMQX
    May 22, 2024 · This blog introduces the common data formats (JSON, Hex, and Binary) and explains how they are transmitted and processed with the MQTT ...