logoalt Hacker News

nayukiyesterday at 6:09 PM3 repliesview on HN

> 1 kilobyte is precisely 1000 bytes

Agreed. For the naysayers out there, consider these problems:

* You have 1 "MB" of RAM on a 1 MHz system bus which can transfer 1 byte per clock cycle. How many seconds does it take to read the entire memory?

* You have 128 "GB" of RAM and you have an empty 128 GB SSD. Can you successfully hibernate the computer system by storing all of RAM on the SSD?

* My camera shoots 6000×4000 pixels = exactly 24 megapixels. If you assume RGB24 color (3 bytes per pixel), how many MB of RAM or disk space does it take to store one raw bitmap image matrix without headers?

The SI definitions are correct: kilo- always means a thousand, mega- always means a million, et cetera. The computer industry abused these definitions because 1000 is close to 1024, creating endless confusion. It is a idiotic act of self-harm when one "megahertz" of clock speed is not the same mega- as one "megabyte" of RAM. IEC 60027 prefixes are correct: there is no ambiguity when kibi- (Ki) is defined as 1024, and it can coexist beside kilo- meaning 1000.

The whole point of the metric system is to create universal units whose meanings don't change depending on context. Having kilo- be overloaded (like method overloading) to mean 1000 and 1024 violates this principle.

If you want to wade in the bad old world of context-dependent units, look no further than traditional measures. International mile or nautical mile? Pound avoirdupois or Troy pound? Pound-force or pound-mass? US gallon or UK gallon? US shoe size for children, women, or men? Short ton or long ton? Did you know that just a few centuries ago, every town had a different definition of a foot and pound, making trade needlessly complicated and inviting open scams and frauds?


Replies

wvenableyesterday at 7:14 PM

> The computer industry abused these definitions because 1000 is close to 1024, creating endless confusion.

They didn't abuse the definitions. It's simply the result of dealing with pins, wires, and bits. For your problems, for example, you won't ever have a system with 1 "MB" of RAM where that's 1,000,000 bytes. The 8086 processor had 20 address lines, 2^20, that's 1,048,576 bytes for 1MB. SI units make no sense for computers.

The only problem is unscrupulous hardware vendors using SI units on computers to sell you less capacity but advertise more.

show 1 reply
ValdikSSyesterday at 7:08 PM

Well, you're joking, but the entire RAM industry still lists their chips in Gb (gigaBITS) to avoid confusion.

32 Gb ram chip = 4 GiB of RAM.

show 1 reply