But the computer doesn't report gigabytes (GB). It reports Gibibytes, GiB. Different units.
Not saying it's not a dumb situation, just why it's happening.
If software developers were:
1. Measuring using base-2 (what we would now call Kibi, Mebi, Gibi)
2. Reporting memory using base-10 prefixes (kilo, mega, giga)
Then its those software developers, not advertisements/sales that were the problem. Those prefixes mean a very specific thing accross all fields. Using kilo to mean 1024 instead of 1000 is objectively wrong. No other field does that.
> objectively wrong
So is assuming a "byte" has 8 bits. But outside of prescriptivist pedantry, gigabyte has long been used for mostly base two.
No other field is coming up with their own meaning of "kilo". The meaning of the metric system is not up for debate. It is defined by the ISU. It is not a "maybe" or an "almost" or situational. It is a hard set of rules to make communication and measurement easier.
What a "byte" is depends on the implementation. It's generally 8 bits but some systems are different. It's not a hard definition like the metric system. No standards organization came together to say a byte must always and only be 8 bits in every situation.
You are comparing two completely different situations.
Neither is the computer field, really. "kilo" by itself isn't affected.
> The meaning of the metric system is not up for debate.
Nobody is saying it's metric, either. "metric kilobyte" is a thousand bytes.
It's like having different tons.
> What a "byte" is depends on the implementation. It's generally 8 bits but some systems are different. It's not a hard definition like the metric system. No standards organization came together to say a byte must always and only be 8 bits in every situation.
If it depends on implementation, why are you insisting a gigabyte is exactly 8 billion bits?
What if I said a "byte" could be 8.59 bits?
> You are comparing two completely different situations.
I don't see it that way, because I'm only making an argument about "gigabyte" as a single unit. (And kilobyte, megabyte, terabyte.) The vagueness of both applies.
Yes, it is. When software measures in factors of 1024 but reports these using metric prefixes (kilo, mega, giga, or their shorthands KB, MB, GB), it's wrong. Imagine if a chemist had 1024 milliliters and reported that as a liter. People would be up in arms about it.
>If it depends on implementation, why are you insisting a gigabyte is exactly 8 billion bits?
I didn't. I never set bits. Bytes.
A gigabyte is always 1 billion bytes, and a Kilobyte is always 1000 bytes. How many bits that is is implementation-dependent.
>What if I said a "byte" could be 8.59 bits?
...there's no such thing as fractional bits.
>I don't see it that way, because I'm only making an argument about "gigabyte" as a single unit. (And kilobyte, megabyte, terabyte.) The vagueness of both applies.
There is vagueness in how many *bits*, but not how many bytes. That is a critical distinction.
Again, the prefixes aren't up for debate. They always mean the same thing. Using them to mean factors of 1024 is just factually wrong.
Not if that method went back decades.
I'll repeat the comparison to tons, since you didn't acknowledge it. Tons are different sizes in different places, and people manage. (And I'm including tonne because it's pronounced the same and has the symbol 't'.)
> I didn't. I never set bits. Bytes.
> A gigabyte is always 1 billion bytes, and a Kilobyte is always 1000 bytes. How many bits that is is implementation-dependent.
So if I handed you a full CD and said it had 350 megabytes, because it has a million sets of 16 bits, you wouldn't object to that?
Or if a drive manufacturer decided they're going to market based on 6 bit bytes, you wouldn't object to that?
> ...there's no such thing as fractional bits.
Sure there is. One printable ASCII character can store six and a half bits. Two of them can store thirteen bits. You can also entangle multiple bytes into a single storage unit if you want to. Base64 and base85 are useful comparisons here. If I declared that one character was a byte and it had 85 possible states, the math would work out fine.
All manufacturers of storage are going to market assuming 8 bit bytes. Yes, that is not a standard. The computer using it may divide up the bits differently and thus have a different number of bytes. But 8 is so insanely common that it's really a non issue. Would it be better if they advertised the number of bits instead? Sure. But assuming 8-bit bytes, at least they're honest when they use the metric prefixes.
My issue is not the number of bits, bytes or the manufacturers. My issue is software.
If Windows (for example) is measuring GiB and calling it gigabytes or GB, that's wrong. Those are two different units. One is base 2, the other base 10.
It doesn't really matter which they use to measure, as long as they're consistent. If they want to use gigabytes that's fine, as long as they really mean 1 billion bytes.
The terms should be used properly. Giga should never mean anything other than billion, because otherwise that's confusing and inconsistent with every other field.
We should be consistent with other fields because that makes communication easier.
It's stupid to have our own make believe fairytale version of the metric prefixes. It serves no purpose. We have GiB, KiB, MiB now and should use them if that's what is meant.
Ok?
Disagreeing is not missing the point.
I'm not serious when I suggest an 8.59 bit byte, but I am serious when I say you shouldn't care so much about the "mega" part of "megabyte" being precise when "byte" isn't precise.
> But assuming 8-bit bytes, at least they're honest when they use the metric prefixes.
They're not. Technical correctness is not honesty, and they're giving people an unrealistic expectation of drive size. It doesn't matter if those expectations are based on "wrong" information.
> It doesn't really matter which they use to measure, as long as they're consistent.
They are consistent. They're so consistent that they've been using "GB" since long before the term "gibibyte" even existed.
Gibibyte is not truly a separate unit, because until fairly recently it was spelled gigabyte whenever anyone talked about it.
> It's stupid to have our own make believe fairytale version of the metric prefixes. It serves no purpose. We have GiB, KiB, MiB now and should use them if that's what is meant.
The split is dumb but all words are made up and the ibi prefixes don't solve a real problem. If someone wants to be metric-accurate they should just use metric.
So your 1TB is definitely 1000GB. But it's 931 GiB.
Some claim it was easier for consumers to understand factors of 1000 rather than 1024. But conveniently it also makes the number look bigger for no extra cost, so eh. I'd put my money on the later.