gray code binary:
vacuum tubes were used, back in the days, to store binary data. switching of number, say from 0111 to 1000 (7 to 8) would cause 3 tubes to turn off. larger numbers, then would wear out the vacuum tubes and they'd have to change the fuse all the time.
gray code was invented so that only one bit would change for every increment of number. this way, only one bit would have to turn on/off at a time.
to encode gray code, take the number raise it to the power of 2x the number. you get a large binary number, but only one bit is turning on/off at a time, this reduces the wear and tear on the tubes.
no one taught me this in undergrad.
cool.