Ich frage mich, wie man etwas wie dies rückgängig machen kann. Also mit einem mask
wo auto mask = 1ULL << 20;
Wie bekomme ich 20
aus der Maske?
Vor vielen Jahren, als ich eine bitweise Arithmetik für eine Schach-Engine schrieb, fand ich eine schnelle Implementierung, die für Ihre Anforderung nützlich ist, sie ist ohne Schleifen. Diese Methode gibt die Position des ersten 1
-Bits von rechts nach links zurück (Least Significant Bit):
Ausgabe
%Vor%Ich denke, ich hatte hier gefunden.
Option 1: iterieren
%Vor%Option 2: Wiederhole mehrere Bits gleichzeitig:
%Vor%Option 3: Konvertieren Sie die Maske in double oder float und extrahieren Sie den Exponenten.
%Vor%Tags und Links c++