Logische Operation (Keine Ahnung)
-
Die Aufgabe lautet schreiben Sie ein Programm das eine Zahl einliest und die nächste kleinere und größere durch 16 teilbare Zahl ausgibt.Hinweis:Verwenden sie den Bitshilfoperator.
Ich hab keine Ahnung ......
-
Bitshift heißt das!
Schau Dir mal die Binäre Darstellung einer durch 16 teilbaren Zahl an...
Ansonsten langt dies als Hausaufgabenhilfe...
-
Und frag beim Aufgabensteller nach was mit grösser und kleiner gemeint ist. Also ob da nicht vielleicht grösser-gleich bzw. kleiner-gleich gemeint ist.
Also ob du für Input 32 wirklich 16 und 48 ausgeben sollst. Wenn man die Aufgabe wörtlich exakt interpretiert müsstest du nämlich genau das machen. Aus Erfahrung würde ich aber sagen: normalerweise ist bei solchen Aufgaben der gewünschte Output für 32 eher 32 und 32.
-
Versuchs doch mal mit: int Kleinere = i & 0xFFFFFFF0; die kleinere. Und Grössere = Kleinere + 16;
-
Falls echt kleiner und grösser gemeint sein sollte, füge das noch hinzu: if ( Kleiner == i ) Kleiner -= 16;
-
Biter schrieb:
Versuchs doch mal mit: int Kleinere = i & 0xFFFFFFF0; die kleinere. Und Grössere = Kleinere + 16;
Das ist keine Lösung, wenn ein Bitshift benutzt werden soll!
-
Ok das wusste ich nicht ...
-
Geht das überhaupt mit << oder >> ? Vielleicht so: i >>= 4; und anschliesend i <<= 4;
-
Biter schrieb:
Geht das überhaupt mit << oder >> ? Vielleicht so: i >>= 4; und anschliesend i <<= 4;
Quatsch. Was kommt denn bei 31 oder 79 raus?
-
Bei 31 kommt 16 heraus. 11111 >>= 4 ergibt 1, und 1 <<= 4 ist 16.
Bei 79 kommt 64 heraus. 1001111 >>= 4 ergibt 100, und 100 <<= 4 ist 64.
Ok ?
-
komme immer noch nicht weiter aber trotzdem danke
-
Mit anderen Worten: Dir wird eine Komplettlösung geliefert, Du schaffst es nichtmal sie abzuschreiben.
-
ja genau , tut mir leid, dass ich gestern erst mit c++ angefangen habe und mein Lehrer übertreibt.
-
Biter schrieb:
Bei 31 kommt 16 heraus. 11111 >>= 4 ergibt 1, und 1 <<= 4 ist 16.
Bei 79 kommt 64 heraus. 1001111 >>= 4 ergibt 100, und 100 <<= 4 ist 64.
Ok ?Ach so, du meintest
i = i >> 4 << 4;
Hatte ich falsch verstanden.
-
Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum C++ (alle ISO-Standards) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.