> My assumption is, that the calculation should have > been (written in C for better understanding):
> u16Result = u8Value * 256 - u8Value * 16;
Ok... there is a reason:
(uint8_t) cannot be more than 255. Otherwise, the value is truncated to 8
bits. Therefore u8Value * 256 is always zero.
To get desired result you have to write
u16 = (unsigned int) u8 * anyting;
Hope this helps.
~d
