Gast
#210977
Hallo.. Ich möchte gern eine 16Bit Zahl mit 2 multiplizieren. Bei 8Bit ist dies ja mit einem Linksshift erledigt aber bei 16Bit will es nicht funktionieren. Habe versucht erst das Register mit den 8 niederen Bits nach links zu schieben. Vorher hatte ich das Carry Bit gelöscht und nach dem linksshift das Carry gelesen. Wenn ein überlauf stattgefunden dann habe ich das Register mit den 8 höherwertigen Bits incrementiert und danach ebenfalls einen linksshift ausgeführt. Leider kommt als Ergebnis nur quatsch raus.. ist es überhaupt möglich bei 16Bit werten mit dieses einfache verfahren anzuwenden ? Ach ja.. Ich sollte noch dazu sagen, das ich den Wertebereich nicht voll ausnutze und es zu keinem Überlauf kommen kann. Die werte die mit 2 multiplizieren will liegen im bereich von 0 - 2000.