Just thought I'd forward this along. Amanda ----- Original Message ----- From: "Jack Ganssle" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, September 06, 2002 8:27 AM Subject: The Embedded Muse 74
> The Embedded Muse > > ------------------------------------------------------------ > Embedded Muse 74 Copyright 2002 TGG September 5, 2002 > ------------------------------------------------------------ > You may redistribute this newsletter for noncommercial purposes. For > commercial use contact [EMAIL PROTECTED] > > EDITOR: Jack Ganssle, [EMAIL PROTECTED] > > CONTENTS: > - Editor's Note > - K and k > - Thought for the Week > - About The Embedded Muse > > > Editor's Note > ------------- > My August column in Embedded Systems Programming (on-line at > http://embedded.com/story/OEG20020729S0045) about engineering ethics > continues to garner quite a bit of feedback. There's an interesting site > with some case histories at > http://onlineethics.org/moral/LeMessurier/lem.html. I'm happy to see that > the site is largely organized for use in educational settings. Thought > problems encourage people to consider the implications of their actions. > Recommended. > > > K and k > ------- > We computer folks use the "kilo" prefix pretty arbitrarily, sometimes > referring to 1024 (that CPU has a 64k address space) or sometimes as 1000 > (he's pulling down 200k+ per year!). I was surprised to discover that these > terms have formal definitions. > > The International System of Units (the metric system) defines prefixes and > abbreviations for multiples of ten, as follows: > > 10**3 kilo (symbol k) > 10**6 mega (symbol M) > 10**9 giga (symbol G) > > (There are many more, ranging from 10**-24 to 10**24, but that's outside of > a computer discussion). > > None of these are a surprise to any developer, perhaps with the exception > of the case used for the abbreviations. Note that the M for mega and G for > giga are always capitalized. Why is this crucial? Consider that lower case > "m" means milli, so if we casually specify 4 mB of RAM we're asking for > .004 bytes. > > Now it gets interesting. The metric system does not specify units for > binary multipliers, but those wacky folks at the International > Electrotechnical Commission, with the support of the IEEE, NIST, and other > organizations, created a standard. > > The system is: > 2**10 kibi (symbol Ki) (one kibi is 1024) > 2**20 mebi (symbol Mi) (one mebi is 1 048 576) > 2**30 gibi (symbol Gi) (one gibi is 1 073 741 824) > > To further refine things, a byte is abbreviated "B" (capital B, that is), > and a bit is, well, "bit". > > This means: > 1 kibibyte is 1 KiB, or 1024 bytes > 1 kibibit is 1 Kibit, or 1024 bits > 1 mebibyte is 1 MiB, or 1 048 576 bytes > 1 mebibit is 1 Mibit, or 1 048 576 bits > 1 gibibyte is 1 GiB, or 1 073 741 824 bytes > 1 gibibit is 1 Gibit, or 1 073 741 824 bits > > The expression 64 kB means exactly 64 000 bytes. We are not allowed to say > "the Z80 has a 64 kB address range", because that is wrong. The correct > version is "the Z80 has a 64 KiB address range". > > We're also never allowed to use KB or Kbit - these are undefined. "k" > (lower case) and "Ki" have meaning; "K" does not. > > So now there's no excuse for confusion between bits and bytes, or > powers-of-2 multiples and powers-of-10. > > Since precision is an important facet of engineering I welcome these terms, > though will find it hard to adjust my writing appropriately... > > > Thought for the Week > -------------------- > K: (adj.) a binary thousand, which isn't a decimal thousand or even really > a binary thousand (which is 01000b, or eight), but is the binary number > closest to a decimal thousand. This has proven so completely confusing that > is has become a standard. > > But now we know it's wrong... > > > About The Embedded Muse > ----------------------- > The Embedded Muse is an occasional newsletter sent via email by Jack > Ganssle. Send complaints, comments, and contributions to me at > [EMAIL PROTECTED] > > To subscribe, send a message to [EMAIL PROTECTED], with the words > "subscribe embedded email-address" in the body. To unsubscribe, change the > message to "unsubscribe embedded email-address". BUT - please use YOUR > email address in place of "email-address". > > The Embedded Muse is supported by The Ganssle Group, whose mission is to > help embedded folks get better products to market faster. > > > > > -- SLUG - Sydney Linux User's Group - http://slug.org.au/ More Info: http://lists.slug.org.au/listinfo/slug
