No, what you did was multiply the value by 16.

I read more about bitWise operators and found this "in fact, left shifting is the equivalent of multiplying by a power of two."

You were right. Moving 4 bits to the left is also equivalent to multiplying the value by 16.. XD

Anyway, what should I do if I need to change a hex value of 12 into a dec value of 12...

Or maybe a different approach..a char 1 and a char 2 into one single decimal variable of 12...

The algorithm I can only think about is doing it manually like

if(heading == 0x12){

decheading=12;

}

But I've got 0-360 HEX...and that means 360 if statements =.=