Hi, guys,

I just found out a bug in my code was due to my misunderstanding of operation result in C.

So then I'm wondering if the following assumption of mine is correct:

the binary operators, like +, -, * and /, their operation result will be a promoted value compared with their operand. Say:

A and B are uint8, so the result of A - B would be saved as uint16 in registers, right?

the singular operators, like ^, ~, ++, --, >> and <<, their operation result will still have the class. Say:

A is uint16, so ^A will still be a uint16, right?