Du betrachtest zuerst nur die zweite Stelle, also die letzten 4 Bits, die entsprechen ja der dezimalen Einerstelle. Darauf addierst du dann die erste Stelle - und dazu schiebst du die Zahl 4 Bits nach rechts, isolierst die letzten 4 Bits und nimmst das Ganze mit 10 mal.
Weiß nur nicht, was dein Prog wohl macht, wenn da Hex-Werte mit Buchstaben (A bis F) stehen. Ob er die dann schon direkt als Hex einließt? Das wäre natürlich hier unpraktisch.