There is almost certainly a more elegant way to do this, but here is enough to get you started.
, .
(: , (, n * 3 = (n*2) + (n*1) = (n << 1) + (n) ), ). " ", )
. ,
( ints )
overflow ( 32- longs , uC, ,
(, 9/5 1 2? C 1, , , 2, ?)
, ( ), ( ). , .
, , , .
192 , 1/192, (64 * 3). () 1/3, 0x5555/(1 < 16).
192, 64, 3. 3, 0x5555 16 ( 0x55 → 8 ...)
, . (8000 * (0x5555/(1 << 16)), 0, 0. .
, 1- :
printf("Answer: %lu\n", ((8000UL * 0x5555UL) >> 22));
41, "C" 8000/192, 42 "". LSB, , .
, , , - .