Glaube schon, dass beide richtig sind!
Kann sein, dass es ein problem gibt wenn lowbyte und highbyte vom typ unsigned char sind.
Abhilfe: vor dem shiften nach unsigned int casten.