> 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





Reply via email to