[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Using standardized SI prefixes



On Wednesday 13 June 2007 15:19, Bjørn Ingmar Berg wrote:
> Let me start with a dumb example:
(OK, dumb example duly deleted)

> Computers deal with numbers in base two.  Humans deal with numbers in
> base 10.  When computers and humans interact (on a technical level)
> humans must adapt to the computer, because computers can not.

I don't agree with that. Compilers generally understand numbers in base 10, 
for example. More about that later.

> Dealing with chunks of data, addresses, registers, etc. has to be done
> in base 2.  Even if 1024 is "close enough" to 10^3 for a PHB or
> marketing humanoid, that will never make those two numbers equal.  And
> it must never be allowed to.  Computers, computer designers, computer
> technicians and most computer programmers will always deal with the
> _real_ base 2 numbers like 1024.

So? This is why there needs to be a separate set of prefixes for powers of 2. 
As for that falcon, it's just another example of why there needs to be a 
well-defined vocabulary even if the common people don't care about the 
details.

> Another example.  Pi is an irrational number starting with 3.14....
> Sure, it would be easier to "standardize" it to 3.00.  Done deal.  It
> would be easier to remember and more marketable.  It would also be
> totally useless AND completely wrong.  AFAIK some very dumb people
> actually managed to decree by law that pi was to equal 3.  They had to
> stop doing that.
>
> In the same was as with pi redefining or "standardizing" kilobytes and
> megabytes would be totally useless AND completely wrong.  Computers
> have always, do, and will continue to deal with their numbers along
> the progression of 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, etc...
> So, when dealing with computers, must we.

Again, computers are perfectly capable of presenting numbers in base ten or 
any other base, depending on what is most convenient. Otherwise we might have 
been forced to input numbers in binary and get answers like "Total distance: 
10011.1 km" back (with k meaning 2^10, of course). That SI prefixes have been 
used to express powers of two is more specifically an artifact of memory 
addressing. The sizes of memory banks are normally a power of two. In that 
case it's convenient to say that the memory capacity is 64 MiB when you mean 
that it's 67 108 864 byte. But for data on a wire, or even files on a disk, 
there isn't anything constraining sizes to a power of two (block sizes are a 
number of KiB, but you rarely need to think of that as a user).

> One does not redefine pi to a value of 3 because "that would make it
> more understandable for the commoner".  Mathematicians, architects
> (and basically everyone else) need it to stay ~3.1415926535 in the
> future.
> One does not redefine kilobyte to mean 1000 (base 10) because "that
> would make it more understandable for the commoner".  Real computer
> people need it to stay 1024 (base 10).

It's not about redefining "kilobyte to mean 1000", because, as has been 
pointed out repeatedly, a kilobyte is currently either 1000 byte or 1024 byte 
depending on context. There is no exact definition, just a rather vague 
convention. This is about once and for all ending that mess.

Your analogy with redefining pi as exactly 3 is way off, because pi is a 
natural constant and as such has been defined since the beginning of time. 
Redefining pi would be like trying to alter the shape of the universe or the 
laws of nature. Deciding that SI prefixes shall be SI prefixes even in 
computer context is not like trying to strip 24 bytes off every block of 
1024, or mandating that computers always have to use BCD internally.

> A well-known and very common trait of language is that one given word
> can often have more than one specific meaning.  When this is the case
> you need a context to be sure.  This is considered normal, and never a
> real problem.  This should hold true regarding computers and counting
> as well.

That doesn't make vagueness and ambiguity *desirable*. It is common to have a 
well-defined terminology wherever people need to communicate efficiently 
without misunderstandings. Two examples are the SI units and prefixes.

> Finally a personal and subjective thought.  At times one has to chose
> whether to oversimplify facts and information to the point where
> "everyone" understands it, (If this happens they DO NOT understand it;
> they are given the illusion of understanding) or whether to educate
> the public.  I am very convinced the correct solution is always to
> educate the public.

Good. Let's then teach the public that "borrowing" well-defined SI prefixes 
and giving them a different meaning in some situations was a bad idea, and 
that an adequate solution exists.

-- 
Magnus Holmgren        holmgren@lysator.liu.se
                       (No Cc of list mail needed, thanks)

Attachment: pgph7jI3ZcyC8.pgp
Description: PGP signature


Reply to: