Binary Prefixes in Hex

Byte-size units, decimal (SI) and binary (IEC), each with its exact byte count and hex value.

Decimal (SI) — powers of 1000

UnitFormulaBytesHex
B10x1
kB1000^11,0000x3E8
MB1000^21,000,0000xF4240
GB1000^31,000,000,0000x3B9ACA00
TB1000^41,000,000,000,0000xE8D4A51000
PB1000^51,000,000,000,000,0000x38D7EA4C68000
EB1000^61,000,000,000,000,000,0000xDE0B6B3A7640000

Binary (IEC) — powers of 1024

UnitFormulaBytesHex
B10x1
KiB1024^11,0240x400
MiB1024^21,048,5760x100000
GiB1024^31,073,741,8240x40000000
TiB1024^41,099,511,627,7760x10000000000
PiB1024^51,125,899,906,842,6240x4000000000000
EiB1024^61,152,921,504,606,846,9760x1000000000000000

Two different definitions of "kilobyte"

"Kilobyte" has meant two different quantities since the earliest days of computing, and both are still in active use. The strict SI (International System of Units) meaning treats "kilo" the same way it's used everywhere else in metric measurement — exactly 1000. But computer memory is addressed in powers of two, and 1024 (210) is close enough to 1000 that early engineers reused the same metric prefixes — kilo, mega, giga — to mean powers of 1024 instead, purely because it was convenient shorthand. That convenience is the entire reason two incompatible definitions of the same word have coexisted for decades.

How IEC prefixes resolved the ambiguity — on paper

In 1998, the International Electrotechnical Commission standardized a distinct set of binary prefixes — kibi, mebi, gibi, tebi, pebi, exbi, abbreviated KiB, MiB, GiB, TiB, PiB, EiB — each unambiguously a power of 1024, leaving KB, MB, and GB free to mean their original SI powers of 1000. Adoption has been inconsistent: some operating systems and technical documentation use KiB/MiB/GiB precisely as intended, while consumer software and everyday conversation still widely say "KB" or "MB" when 1024-based values are actually meant. Both tables above are labeled according to the IEC standard specifically to keep the two systems unambiguous next to each other.

Why the "missing" storage capacity is a units mismatch, not missing data

A drive marketed as "1 TB" almost always means exactly 1,000,000,000,000 bytes, using the manufacturer's decimal definition — and that's genuinely how many bytes are physically present and usable. An operating system reporting free space, however, typically divides that same byte count by 1024 three times over to display it as "GB" or "TB," using the binary meaning of those letters even though it displays the SI abbreviation. Dividing the same number of bytes by a larger unit (1,099,511,627,776 bytes per "TiB" instead of 1,000,000,000,000 bytes per TB) necessarily produces a smaller displayed number — around 909 "GB" instead of 1000 "GB" for a 1 TB drive — with no bytes actually missing.

Why hex lines up with one system and not the other

Hexadecimal is fundamentally a shorthand for binary — each hex digit represents exactly four bits. 1024 is 210, a round power of two, so it's also a perfectly round value in hex: 0x400, with every higher binary prefix similarly landing on a hex value that is 1 followed only by zeros. 1000 is not a power of two, so its hex representation (0x3E8) has no such clean pattern, and neither does any decimal prefix built from it. This isn't a coincidence worth reading much into — it's simply what happens when a base-10 round number is converted into a base-16 system built entirely from powers of two.

Where each system actually gets used

Network bandwidth is consistently measured in decimal SI units — a "100 Mbps" connection means 100,000,000 bits per second, not a binary-derived figure. Storage manufacturers use decimal units for the same reason: it's the standard metric convention and, not incidentally, yields a larger-looking number than the binary equivalent for the same physical capacity. RAM capacity, by contrast, is essentially always a power of 1024 in practice, because memory is physically addressed in binary — a stick of "16 GB" RAM is, in the strict IEC sense, actually 16 GiB. That split — decimal for storage and bandwidth marketing, binary for how memory and operating systems actually compute internally — is the practical rule of thumb, even though almost none of it consistently uses the IEC-suffixed names in casual reference.

FAQ

Is 1 KB equal to 1024 bytes or 1000 bytes?
It depends on which standard is being used. Strictly, KB (kilobyte) means 1000 bytes and KiB (kibibyte) means 1024 bytes — but many operating systems and older software label 1024-byte units as "KB" anyway, which is the source of most of the confusion.
Why do hex values line up so cleanly with KiB/MiB/GiB but not KB/MB/GB?
Because 1024 is a power of two (2^10), it aligns exactly with hex and binary place values — 1 KiB is exactly 0x400. 1000 isn't a power of two, so decimal prefixes never land on a round hex number.
Why does my hard drive show less capacity than advertised?
Storage manufacturers advertise capacity using decimal (SI) units — a "1 TB" drive means 1,000,000,000,000 bytes. Operating systems typically display capacity using binary (IEC-style) units labeled "GB"/"TB", which are larger units, so the same byte count shows as a smaller number.
g then:h homeb basee encodingc colorp programming