Vor allem, nein, das ist nicht meine Hausaufgabe, es ist ein Labor, gegeben durch ein Buch mit dem Titel "Computer Systems A Programmer's Perspective" (Ausgezeichnetes Buch btw)
Ich muss eine logische Verschiebung für Ganzzahlen mit Vorzeichen ausführen, ohne Folgendes zu verwenden:
Erlaubte Operatoren sind: ! + ~ | & gt; & gt; & lt; & lt; ^
Was habe ich bisher versucht?
%Vor%Dies funktioniert gut, solange n nicht gleich 0 ist, wenn dieser Code bricht, weil die Maske zu allen 0s wird und die Funktion 0 zurückgibt.
Ich würde einen Hinweis eher in die richtige Richtung als in einen vollständigen Code begrüßen.
Auch dies ist keine Hausaufgabe; Die Labor-Aufgaben sind hier öffentlich zugänglich Ссылка
P.S Nicht ein Duplikat, posten Sie keine Lösungen, bei denen die Umwandlung in unsigned und dann shifting erfolgt.
Tags und Links c c++ x86 bit-manipulation bit-shift