byte

lore

programming

A group of bits handled as a unit, standardized to eight, and the everyday quantum of computer storage.

Werner Buchholz coined 'byte' in 1956 while designing IBM's 7030 Stretch supercomputer, deliberately respelling 'bite' so it could never be mistaken in print for 'bit'. Early machines used bytes of six, seven, or nine bits; the eight-bit byte became universal with IBM's System/360 in 1964 and never looked back. The playful mastication theme stuck, so half a byte is a nibble. One byte holds 256 values, enough for a character of text, which is why it became the natural unit for memory, files, and addresses.

A byte is eight bits today, and the standardization is more recent and more arbitrary than most people assume. Early machines used six, seven and nine bit bytes, and the word originally meant however many bits the architecture used to represent one character. The IBM System/360 is largely why eight won.

That history is why the standards bodies say octet when they mean exactly eight. In protocol specifications, where a document may be implemented on hardware nobody anticipated, octet removes the ambiguity that byte historically carried, and encountering the word in an RFC is a signal about the era and the seriousness of the document rather than pedantry.

The prefix problem is the everyday consequence. A kilobyte is a thousand bytes to a drive manufacturer and 1,024 to an operating system, which is why a purchased terabyte shows up smaller than advertised, and why the binary prefixes kibi, mebi and gibi exist to say the second one unambiguously. Almost nobody uses them in speech, so the practical skill is knowing which convention a given number is following and by roughly how much it differs.

Also known as: octet

All glossary entries