Thanks to the sci.math readers whose responses helped me to understand "Russian Peasant Multiplication"!
Here's my own attempt to explain it:
[Please use a non-proportional font so the columns line up. Also, I will use the caret (^) to indicate an exponent, e.g. 2^3 = "two cubed". The procedure is described in Jan Gullberg's "Mathematics" (1997) and other sources.]
Example: 19 x 54 = X
(H = "halving column", D = "doubling column"; in column H, any remainder is discarded after each halving.)
The even numbers in column H are crossed out, along with the corresponding entries in column D across the way. The remaining numbers in column D are added up to give the product: 19 x 54 = (38 + 76 + 304 + 608) = 1026
After the halving is finished (i.e., you have reached a result of 1), what matters in column H is whether the numbers are even or odd. The pattern of even and odd numbers in column H corresponds to a binary (or base 2) representation of the original number:
Place in binary notation 54 even 0 (2^0) 27 odd 1 (2^1) 13 odd 1 (2^2) 6 even 0 (2^3) 3 odd 1 (2^4) 1 odd 1 (2^5)
54 base ten, converted to base 2, equals 110110, or (back in base 10): (2^5 + 2^4 + 2^2 + 2^1) = (32 + 16 + 4 + 2) = 54. [If the first entry in column H is even, there will always be a zero in the unit (2^0) place of the binary representation; if the first entry is odd, there will be a one in the unit place.]
As 2^0 and 2^3 are not part of the sum shown above that produces 54, the corresponding products in column D (19 x 2^0 and 19 x 2^3) are also ignored. The surviving elements of column D are added up to give the product of 54 x 19.
Hoping this helps others puzzled (as I was) by this method of multiplying,