logoalt Hacker News

nayukiyesterday at 7:27 PM2 repliesview on HN

> They didn't abuse the definitions.

Yes they did. Kilo- means 1000 in SI/metric. The computer industry decided, "Gee that looks awfully close to 1024. Let's sneakily make it mean 1024 in our context and sell our RAM that way".

> 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.

I'm not disputing that. I'm 100% on board with RAM being manufactured and operated in power-of-2 sizes. I have a problem with how these numbers are being marketed and communicated.

> SI units make no sense for computers.

Exactly! Therefore, use IEC 60027 prefixes like kibi-, because they are the ones that reflect the binary nature of computers. Only use SI if you genuinely respect SI definitions.


Replies

deathanatosyesterday at 8:02 PM

> Exactly! Therefore, use IEC 60027 prefixes like kibi-, because they are the ones that reflect the binary nature of computers. Only use SI if you genuinely respect SI definitions.

You have to sort of remember that these didn't exist at the time that "kilobyte" came around. The binary prefixes are — relatively speaking — very new.

wvenableyesterday at 8:00 PM

> Yes they did. Kilo- means 1000 in SI/metric.

I'm happy to say it isn't an SI unit. Kilo meaning 1000 makes no sense for computers, so lets just never use it to mean that.

> Therefore, use IEC 60027 prefixes like kibi-,

No. They're dumb. They sound stupid, they were decades too late, etc. This was a stupid plan. We can define Kilo as 1024 for computers -- we could have done that easily -- and just don't call them SI units if that makes people weird. This is how we all actually work. So rather than be pedantic about it lets make the language and units reflect their actual usage. Easy.