logoalt Hacker News

wvenableyesterday at 7:14 PM1 replyview on HN

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


Replies

nayukiyesterday at 7:27 PM

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

show 2 replies