Live data from Hacker News

1 kilobyte is precisely 1000 bytes?

waspdev.com

251–260 of 430 posts

Re: 1 kilobyte is precisely 1000 bytes?

#251

A mile is exactly 1000 paces, or 4000 feet. You may disagree, but consider: the word mile come from latin for "one thousand". Therefore a mile must be 1000 of something, namely paces. I hope you find this argument convincing.

There is a "metric mile" which is 1500 m. This is something in the context of track and field athletics.

Not to be confused with the 1600 meter or "1 mile" race which is commonly run in US track and field events (i.e. 4 times around a 400 meter track). At least that's within 1% of an actual mile.

Re: 1 kilobyte is precisely 1000 bytes?

#252

The author decidedly has expert syndrome -- they deny both the history and rational behind memory units nomenclature. Memory measurements evolved utilizing binary organizational patterns used in computing architectures. While a proud French pedant might agree with the decimal normalization of memory units discussed, it aligns more closely to the metric system, and it may have benefits for laypeople, it fails to accou…

*rationale

Re: 1 kilobyte is precisely 1000 bytes?

#253

Earlier quoted context omitted.

They are managed by different standards organizations. One doesn't like the other encroaching on its turf. "kilo" has only one official meaning as a base-10 scalar.

I don't think of base 10 being meaningful in binary computers. Indexing 1k needs 10 bits regardless if you wanted 1000 or 1024, and the base 10 leaves some awkward holes. In my mind base 10 only became relevant when disk drive manufacturers came up with disks with "weird" disk sizes (maybe they needed to reserve some space for internals, or it's just that the disk platters didn't like powers of two) and realised that…

> I don't think of base 10 being meaningful in binary computers.

They communicate via the network, right? And telephony has always been in base 10 bits as opposed to base two eight bit bytes IIUC. So these two schemes have always been in tension.

So at some point the Ki, Mi, etc prefixes were introduced along with b vs B suffixes and that solved the issue 3+ decades ago so why is this on the HN front page?!

A better question might be, why do we privilege the 8 bit byte? Shouldn't KiB officially have a subscript 8 on the end?

Re: 1 kilobyte is precisely 1000 bytes?

#255
post #79

I had a computer architecture prof (a reasonably accomplished one, too) who thought that all CS units should be binary, e.g. Gigabit Ethernet should be 931Mbit/s, not 1000MBit/s. I disagreed strongly - I think X-per-second should be decimal, to correspond to Hertz. But for quantity, binary seems better. (modern CS papers tend to use MiB, GiB etc. as abbreviations for the binary units) Fun fact - for a long time consu…

NAND flash has overprovisioning even on a per-die basis, eg. Micron's 256Gbit first-generation 3D NAND had 548 blocks per plane instead of 512, and the pages were 16384+2208 bytes. That left space both for defects and ECC while still being able to provide at least the nominal capacity (in power of two units) with good yield, but meant the true number of memory cells was more than 20% higher than implied by the nominal capacity.

The decimal-vs-binary discrepancy is used more as slack space to cope with the inconvenience of having to erase whole 16MB blocks at a time while allowing the host to send write commands as small as 512 bytes. Given the limited number of program/erase cycles that any flash memory cell can withstand, and the enormous performance penalty that would result from doing 16MB read-modify-write cycles for any smaller host writes, you need way more spare area than just a small multiple of the erase block size. A small portion of the spare area is also necessary to store the logical to physical address mappings, typically on the order of 1GB per 1TB when tracking allocations at 4kB granularity.

Re: 1 kilobyte is precisely 1000 bytes?

#256
post #46
post #10

And a megabyte is depending on the context precisely 1000x1000=1,000,000 or 1024x1024=1,048,576 bytes*, except when you're talking about the classic 3.5 inch floppy disks, where "1.44 MB" stands for 1440x1024 bytes, or about 1.47 true MB or 1.41 MiB. * Yeah, I read the article. Regardless of the IEC's noble attempt, in all my years of working with people and computers I've never heard anyone actually pronounce MiB (o…

> I've never heard It doesn't matter. "kilo" means 1000. People are free to use it wrong if they wish.

Man let a drug dealer give me a binary 'kilo' of some drug. That's almost a free ounce included!

Re: 1 kilobyte is precisely 1000 bytes?

#257

The author decidedly has expert syndrome -- they deny both the history and rational behind memory units nomenclature. Memory measurements evolved utilizing binary organizational patterns used in computing architectures. While a proud French pedant might agree with the decimal normalization of memory units discussed, it aligns more closely to the metric system, and it may have benefits for laypeople, it fails to accou…

Yes, tomato's ARE actually a fruit.

But really!?

I'll keep calling it in nice round powers of two, thank you very much.

Re: 1 kilobyte is precisely 1000 bytes?

#258

Earlier quoted context omitted.

They are managed by different standards organizations. One doesn't like the other encroaching on its turf. "kilo" has only one official meaning as a base-10 scalar.

I don't think of base 10 being meaningful in binary computers. Indexing 1k needs 10 bits regardless if you wanted 1000 or 1024, and the base 10 leaves some awkward holes. In my mind base 10 only became relevant when disk drive manufacturers came up with disks with "weird" disk sizes (maybe they needed to reserve some space for internals, or it's just that the disk platters didn't like powers of two) and realised that…

Buy an SSD, and you can get both at the same time!

That is to say, all the (high-end/“gamer”) consumer SSDs that I’ve checked use 10% overprovisioning and achieve that by exposing a given number of binary TB of physical flash (e.g. a “2TB” SSD will have 2×1024⁴ bytes’ worth of flash chips) as the same number of decimal TB of logical addresses (e.g. that same SSD will appear to the OS as 2×1000⁴ bytes of storage space). And this makes sense: you want a round number on your sticker to make the marketing people happy, you aren’t going to make non-binary-sized chips, and 10% overprovisioning is OK-ish (in reality, probably too low, but consumers don’t shop based on the endurance metrics even if they should).

Re: 1 kilobyte is precisely 1000 bytes?

#259

There is a counterproductive obsession with powers of 10. Sometimes, other systems just make more sense. For example, for time, or angles, or bytes. There are properties of certain numbers (or bases) that make everything descending from them easier to deal with. for angles and time (and feet): https://en.wikipedia.org/wiki/Superior_highly_composite_numb... For other problems we use base 2, 3, 8, 16, or 10. Must we tr…

Now that I think about it, I see KiB and kb all the time but I don't know that I've ever encountered Kib or kB in the wild. Maybe I'm in a bubble? Or maybe we should accept that kb is power of 10 but kB is power of two?

Well I guess we already basically have this in practice since Ki can be shortened to K seeing as metric prefixes are always lower case and we clearly aren't talking about kelvin bytes.

Re: 1 kilobyte is precisely 1000 bytes?

#260

A mile is exactly 1000 paces, or 4000 feet. You may disagree, but consider: the word mile come from latin for "one thousand". Therefore a mile must be 1000 of something, namely paces. I hope you find this argument convincing.

I think your comment is supposed to be sarcastic, but I'm not sure what the sarcasmcis about? Yes, a mile is 1000 paces. That is why it's called a mile. It's not an "argument", it's just what a mile is.
Post reply on HN