A Think Again Media Group publication
Name That Unit

A computing unit with a changing size

Published · Name That Unit

The Question

Which data unit usually holds eight bits today but had different sizes on earlier computers?

Send this question to a friend
Show the answer

The Answer

The byte. Its size historically depended on the hardware, with six-bit and nine-bit versions common in computers of the 1960s.

Byte: how eight bits became the usual size

A byte most commonly contains eight bits today, but its size was historically tied to the computer using it. The term described the number of bits used to encode a single text character, and in many architectures it became the smallest addressable memory unit. Earlier implementations used sizes ranging from one to 48 bits. Six-bit and nine-bit bytes were common in computers of the 1960s, and some of those systems survived into the twenty-first century. The familiar modern size emerged from a longer period in which a byte's meaning depended on hardware and character representation.

Werner Buchholz coined byte in June 1956 during early design work on IBM's Stretch computer. The spelling deliberately changed bite to prevent accidental confusion with bit. Stretch could address individual bits and used variable-field-length instructions with byte size encoded in the instruction itself. Louis G. Dooley also claimed an origin for byte while working with Jules Schwartz and Dick Beeler on the SAGE air-defense system at MIT Lincoln Laboratory in 1956 or 1957. In that usage it referred to groups smaller than a computer word, particularly groups containing four bits. The terminology emerged alongside differing ways of grouping computer data.

Early character representations included four-bit binary-coded decimal and six-bit codes used for printable graphic patterns. In 1963, ASCII expanded coding to seven bits, encoding uppercase letters and providing control characters. Those controls served functions including page advance, line feed, and management of data flow. IBM developed its eight-bit EBCDIC encoding for System/360 during the early 1960s while also participating in ASCII standardization. System/360's prominence helped spread eight-bit storage, although EBCDIC and ASCII remained different encoding schemes. AT&T's introduction of digital telephony on long-distance trunk lines also used an eight-bit encoding, adding another major investment in that size.

The choice of eight bits allows 256 different binary values, numbered from 0 through 255. It is a convenient power-of-two grouping, and many applications use information that can fit within it. Processor designers commonly optimize for that usage. Modern architectures generally use 32-bit or 64-bit words, containing four or eight such bytes respectively. The term octet explicitly specifies an eight-bit sequence, avoiding ambiguity when discussing systems whose bytes might differ. Network protocol definitions use it extensively, including the Internet Protocol. Numbering the bits within an octet can run from 0 to 7 or in the opposite direction, depending on bit endianness.

The standard byte symbol is uppercase B, as designated by the International Electrotechnical Commission and the Institute of Electrical and Electronics Engineers. The lowercase o denotes an octet and is commonly used in languages such as French. It also avoids a symbol collision: B can stand for the bel, a logarithmic power-ratio unit. The bel usually appears through its smaller form, the decibel, so confusion is limited in practice. Four-bit quantities have their own informal name, nibble or nybble, and each can be represented by one hexadecimal digit. These names distinguish the groupings that can occur within larger data units.

Even where eight bits is the standard byte size, multiples bring another distinction. Decimal units follow powers of ten, making a kilobyte 1000 bytes. Binary units follow powers of two, making a kibibyte 1024 bytes. Historically, binary quantities used the same prefixes as decimal quantities, producing competing meanings for kilobyte and megabyte. Modern binary prefixes include kibi, mebi, and gibi, with symbols Ki, Mi, and Gi. The gap between decimal and binary values increases as units get larger: a decimal terabyte is about 9 percent smaller than a binary tebibyte. Identifying the base therefore matters separately from identifying the byte size.

Efforts to separate those prefixes developed through standards work. In 1995, an International Union of Pure and Applied Chemistry committee proposed names including kibi, mebi, and gibi for powers of 1024. The IEC adopted the proposal in December 1998 and published the standard in January 1999. Decimal meanings are common in network data rates, storage transfer speeds, and most storage-media capacities. A historical binary convention persists in random-access memory capacities and Windows, with kilobyte used for 1024 bytes. Earlier floppy disks sometimes mixed conventions, showing how a familiar capacity label could conceal more than one counting system.

Programming languages preserve further differences around eight bits. Java, Python, Rust, and several other languages define eight-bit bytes with exactly 256 possible values. C and C++ instead define a byte as an addressable storage unit large enough for the basic character set. Their implementations have used sizes including 8, 9, 16, 32, and 36 bits. The standards also require no gaps between bytes, making every memory bit part of a byte. C++17 introduced std::byte with an unsigned-char representation to model a collection of bits, using an enumerated type that prevents ordinary arithmetic use.

By clicking “Send me the first one” you agree to Name That Unit’s Terms of Use and Privacy Policy.