Why does the discrepancy in the number of bytes in a kilobyte exist? In some places I've seen the number 1024 (210) while in others it's 1000 (and the difference gets increasingly large with M, G, T, etc.).
This is not a discussion about whether it should be 1024 or 1000 (though you can discuss it in the comments) but about where/when this situation originated and/or became widespread.
As far as I know, Linux and hardware manufacturers never use the 1024 variant. That, and hearsay, make me think MS-DOS made this version common, but what are the facts?