Re: Using standardized SI prefixes
On Thu, 21 Jun 2007, Hamish Moffatt wrote:
On Wed, Jun 20, 2007 at 08:11:23PM -0400, Ivan Jager wrote:
On Wed, 20 Jun 2007, Ben Finney wrote:
The problem is that *many* cases are incorrect; we can't say that
*all* of them are. That uncertainty is not amenable to a mindless text
substitution without judgement of each case. The solution can only be
for humans to find those cases where the units presented do not match
the quantities, and to file bugs against those packages asking for the
mistake to be corrected.
The other solution can be for humans to find those few (if any) packages
that say MB when they mean 1,000,000 and fix only those. Then we'd have a
consistent system conforming to the standards most CS people expect.
How many packages can you name that measure bytes in powers of 10? Are
there any? People tell me I am making an argument from ignorance, and that
I think Ben's point is that we don't know.
You seem to claim that binary units (ie powers of 2) are natural
everywhere related to computers, but I disagree.
Not everywhere related to computers. Only when the unit is bytes.
It's natural for
memory and structures like it, but not for bitstream quantities like
Yes, for network traffic both are just as natural.
Hard disks are different again; I don't know that there is any particular
reason for them to have 2^n byte sectors (and at the hardware level perhaps
Page sizes are powers of two. Filesystem block sizes are multiples of the
sector sizes, and it's very convenient when they can be aranged nicely in
CD-ROMs have 2304 byte raw sectors.
2048 + 256 for ECC, both of which are powers of two. Even if you use the
2304 raw bytes, that is a multiple of 2^8 bytes, and not even divisible by
Most NAND FLASH chips have 2062 byte
blocks, which even throws the memory device argument out the window.
I have no idea about this, but I would expect
to have more results where the 2062 is a block size...
You forgot about ECC SDRAM which is 72 bits wide. So when you buy a 1GB
(72x128M) DIMM, you're actually getting 1207959552 bytes of raw storage.
But even then, the powers of two are more natural than the powers of 10.