Post

I need to decide if 1KB means 1,000 bytes or 1,024 bytes in all of my software I was leaning 1,024 but it looks like macOS and Windows both define KB as 1,000 these days I want whatever people are most likely to understand (I do not think most people know what KiB or MiB means)

1 repost144 likes

It kinda depends on your scale. At megabytes, it doesn't matter. At terabytes, I'd go with powers of 10 - being 10% out from what your users assume is much messier, and that's before you get into formatted capacity confusion.

Using kB to mean 1024 bytes is a bit of a shibboleth nowadays, imo. Anyone geek enough to think in powers of two would also know SI prefixes.

Took me forever to learn byte-math and when I thought I finally got it; they changed it 😭 KiloBytes (KB) forever!

Whichever you think your software's typical user would expect, but KB (1000) will probably surprise the fewest regular people. If for some reason you need to express a 'true' KB, I think most people who would care about that would also know what KiB means. Maybe put it in tooltip or footnote etc.

What do users need to do _next_ with the values they see? The best answer is via knowing what they actually do then give them what is most useful, surprises them the least, and is simplest. ("Make it configurable" is the classic solution for Qs like this this, but that adds complexity)

The world always defined kilo to be 1000. IT should never have coopted it for address boundaries. It was always bound to be a source of confusion. Reverting to the scienctific definition fixes the mistake.

Even though I know KB is 1000 and KiB is 1024, I like to call 1000 a "metric kilobyte" and 1024 a "freedom kilobyte"

I guess around nine-eleven the standards bodies changed kilo back to 1000 and invented kibibytes. I missed it because I was busy multiplying things by 1024 all day.

TBF I think the IT industry made a huge mistake adopting a naming convention (kilo and mega) for something different to the widely recognised and scientifically defined meanings of those terms Reverting to 1000 and 1000000 fixes that mistake IT should have created new terms for address boundaries

For me it's always 1024. Whenever I set up a Linux machine and I'm on the gparted program, I always calculate KB as 1024 and MB as 1024x1024.

If people don't understand what's the difference between KiB and KB, that's on them. You should stick to the official definition of these units, that's why we have standards.

I remember when people were trying to make <strike>fetch</strike> KiB and MiB happen. If 1024 or 1000 makes a diff, say so at the top of the page, I guess, but 999/1000 times it struck me as about as pointless as a debate about Daylight Saving Time. <*ducks, flees the premises*>

Even if people figure out what KiB & MiB mean, they’ll soon forget.

It means 1000 bytes. `k` is an SI prefix (correct capitalisation is `kB`, not `KB`). 1024 bytes is a KiB. Maybe your users don't know what it means, but using the wrong label just perpetuates their ignorance. It starts to make a big difference once we're in the TB/TiB or PB/PiB range…

It's not ignorance just because I refuse to adhere to some bs convention a bunch of European blowhards are trying to ram down my throat.

There there. Keep eating your MAGA crayons and don't worry about what those mean scientists say.

If anybody says "kibibyte" to me I reflexively punch them straight in the nose. Then I apologize and thank them for clarifying. Then I punch them again.

Stick to base 10 (1,000 bytes) for consumer UI. Non-technical users expect SI units because that matches storage marketing and OS file managers now, while engineers who care about binary multiples will look for KiB anyway.