Why is it, then, that a 1GB RAM module is 1024MB (each of which are 1024KB, each of those consisting of 1024B) ... with no problems or confusion?
I buy a 1GB DIMM, install it, and see it as 1GB. NO PROBLEM.
I buy a 1GB HDD, though, and install it, and it doesn't show up as 1GB.
Hell ... when I order a 1Mb line from an ISP, they don't lop it off at 1million bits, either. Nor does my gigabit ethernet hardware stop at 1billion bits/second. Interesting, eh?
All of these "kluge" implementations (by your definition) have been around for as long as I've been using computers (~1986), but there are only issues with one of them. I wonder why that is.
Wait ... I know. It's deceptive marketing. I'll be damned.
Instead of adhering to standards that, for all intents and purposes, have been around since the beginning, hard drive manufacturers introduced ambiguity by adhering to their own standard implementation.
And *that* is why we have this problem of a 400GB HDD not actually holding 400GB of data.