Hi
Das reicht schon weil eine AND-Verknüpfung mit 0xFFFF kannst du nicht rückgängig machen, weil die einfach alles was grösser als 0xFFFF ist abschneidet.
Dein erster Code macht eigentlich nichts anderes als die ersten 2 Bytes von der Zahl zu nehmen und 2 Bytes nach vorne zu schieben, dass die 2 ersten bytes wieder leer sind
Also 0xffabcdwird zu 0xabcd0000
Nacher einfach wieder zurückschieben -> 0xabcd (das 0xffabcd kannst du nicht wieder herstellen)
Gruss