Round Numbers

posted Feb 25, 2003

256 days since I quit smoking. Yeah, I'm a programmer. Sue me. [Scripting News]

For non-programmers, 256 happens to be two raised to the power of eight, which is the number of distinct bytes that exist (a byte is eight bits, which is either a one or a zero).

Incoming computer science students no longer know their powers of two. Even most of my contemporary grad students don't know their powers of two. Those of us who instantly know 32,768 is 215 are a dying breed. Heck, most grad students don't even seem to know the 210 =~ 103 (where =~ means "approximentally equal)... I see something like 255 and I know quite quickly that is approximentally 32 quadrillion, close enough for government work.

Count with me now the Holy Round Numbers: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536. (I know more then that, but that's the first 0x10 Holy Numbers and that'll do.)

Just the other day as I was doing my taxes I noticed the last section of my employers ID number was 216-1 (the -1 shows up a lot on the higher numbers a lot, because 256 distinct numbers, including 0, means 255 is the highest a byte can hold, 65535 is the highest two bytes can hold, etc.). This did not amuse my wife, which amused me further.

The actual value of 255 is of course 36,028,797,018,963,968. (No, I do not have that one memorized.) Note that even with that absurdly high number, 210 =~ 103 is only off by a little over 12%, which is not generally a lot when discussing numbers of that size.