BitShifting
-
Hallo!
Ich habe da ein Problem, an dem ich schon lange sitze und noch zu keinem brauchbaren Ergebnis gekommen bin. Ich möchte nämlich durch Bit Shifting eine Zahl zu "verkürzen", nämlich so:
Bsp: Zahl 4458
Diese soll dann so verkürzt werden:
445
44
4Mir stellt sich nun die Frage, wie man sowas durch Bit Shifting erreichen könnte.
Ich bin für jeden Tipp dankbar.Vielen Dank
-
Nein. In diesem Beispiel nicht. Da musst Du schon dividieren.
-
Muss es wirklich Bitshifting sein? Oder darf es auch so funktionieren:
int n = 4458; n /= 10;
-
Das KANN nicht gehen.
:xmas1:
-
Musst halt ne BCD-Darstellung Deiner Zahl wählen.

-
Gregor schrieb:
Musst halt ne BCD-Darstellung Deiner Zahl wählen.

vielleicht ist das ja 'ne hexzahl?
-
@ten: durchaus möglich, aber imho eher unwahrscheinlich

@Gast: Mit Bitshifts kannst du nur Division/Multiplikation mit Zweierpotenzen nachbauen. Also kommt es auf die verwendete Zahlendarstellung an, ob du es verwenden kannst - Oktalzahlen (
zahl>>=3;) und Hexzahlen (zahl>>=4;) kannst du auf diese Weise verkürzen, bei Dezimalzahlen geht das nicht (weil 10 keine Zweierpotenz ist), da benötigst du das von Michael erwähntezahl/=10;.