Die Manipulation einzelner Bits. Zu den verwendeten Operatoren können bitweise UND, ODER, XOR, NICHT, Linksverschiebung und Rechtsverschiebung gehören.
Ich bin auf einen (scheinbar) sehr seltsamen Fall gestoßen. Nimm die Nummer 2 ( 0b10) und maskiere sie mit 1 ( 0b01) Dies sollte ergeben, 0b00was 0 entspricht. Hier kommt jedoch Herr Schrödinger ins Spiel: var_dump(0b10 & 0b01); // int(0) var_dump(0b10 & 0b01 == 0); // int(0) var_dump(0b10 & 0b01 …
Links- und Rechtsverschiebungsoperatoren (<< und >>) sind in C ++ bereits verfügbar. Ich konnte jedoch nicht herausfinden, wie ich Kreisverschiebungs- oder Rotationsvorgänge ausführen konnte. Wie können Operationen wie "Nach links drehen" und "Nach rechts drehen" ausgeführt werden? Hier zweimal nach rechts drehen Initial --> 1000 0011 0100 0010 sollte führen …
Zitieren des Codes zum Berechnen des ganzzahligen Absolutwerts (abs) ohne Verzweigung von http://graphics.stanford.edu/~seander/bithacks.html : int v; // we want to find the absolute value of v unsigned int r; // the result goes here int const mask = v >> sizeof(int) * CHAR_BIT - 1; r = (v + mask) …
Ich brauche eine Funktion wie diese: // return true iff 'n' is a power of 2, e.g. // is_power_of_2(16) => true is_power_of_2(3) => false bool is_power_of_2(int n); Kann mir jemand vorschlagen, wie ich das schreiben könnte? Können Sie mir eine gute Website nennen, auf der diese Art von Algorithmus zu …
Ich habe gelesen, dass die Reihenfolge der Bitfelder innerhalb einer Struktur plattformspezifisch ist. Was passiert, wenn ich verschiedene compilerspezifische Verpackungsoptionen verwende? Werden diese Garantiedaten in der richtigen Reihenfolge gespeichert, in der sie geschrieben wurden? Beispielsweise: struct Message { unsigned int version : 3; unsigned int type : 1; unsigned int …
Ich muss testen, ob die Positionen (von 0 bis 31 für eine 32-Bit-Ganzzahl) mit dem Bitwert 1 einen zusammenhängenden Bereich bilden. Zum Beispiel: 00111111000000000000000000000000 is contiguous 00111111000000000000000011000000 is not contiguous Ich möchte, dass dieser Test, dh eine Funktion has_contiguous_one_bits(int), portabel ist. Eine naheliegende Möglichkeit besteht darin, Positionen zu durchlaufen, um …
Stellen Sie sich vor, ich habe zwei vorzeichenlose Bytes bund x. Ich muss bsubals b - xund baddals berechnen b + x. Ich möchte jedoch nicht, dass während dieser Vorgänge ein Unterlauf / Überlauf auftritt. Zum Beispiel (Pseudocode): b = 3; x = 5; bsub = b - x; // …
Mussten Sie jemals Bit-Shifting in echten Programmierprojekten verwenden? Die meisten (wenn nicht alle) Hochsprachen enthalten Schichtoperatoren, aber wann müssten Sie sie tatsächlich verwenden?
Ich bin gerade dabei, einen Baum-Enumerator zu schreiben, bei dem ich auf folgendes Problem gestoßen bin: Ich betrachte maskierte Bitsets, dh Bitsets, bei denen die gesetzten Bits eine Teilmenge einer Maske sind, dh 0000101mit Maske 1010101. Was ich erreichen möchte, ist das Inkrementieren des Bitsets, jedoch nur in Bezug auf …
Wenn ich ein Int in Java habe, das ich als Android-Farbe verwende (zum Zeichnen auf einer Leinwand), wie kann ich nur die Alpha-Komponente dieses Int bearbeiten? Wie kann ich zum Beispiel eine Operation verwenden, um dies zu tun: int myOpaqueColor = 0xFFFFFF; float factor = 0; int myTransparentColor = operationThatChangesAlphaBytes(myOpaqueColor, …
Problem: Bei einer großen (~ 100 Millionen) Liste von vorzeichenlosen 32-Bit-Ganzzahlen, einem vorzeichenlosen 32-Bit-Ganzzahl-Eingabewert und einer maximalen Hamming-Entfernung werden alle Listenelemente zurückgegeben, die innerhalb der angegebenen Hamming-Entfernung des Eingabewerts liegen. Die tatsächliche Datenstruktur zum Speichern der Liste ist offen, die Leistungsanforderungen schreiben eine In-Memory-Lösung vor, die Kosten für den Aufbau …
Ich versuche, Bits in Java-Byte-Variablen zu setzen. Es bietet geeignete Methoden wie .setBit(i). Weiß jemand, wie ich das realisieren kann? Ich kann bitweise durch ein bestimmtes Byte iterieren: if( (my_byte & (1 << i)) == 0 ){ } Ich kann diese Position jedoch nicht auf 1 oder 0 setzen, oder?
Finden Sie das Maximum von zwei Zahlen. Sie sollten if-else oder einen anderen Vergleichsoperator nicht verwenden. Ich habe diese Frage im Online-Bulletin Board gefunden, daher dachte ich, ich sollte sie in StackOverflow stellen BEISPIEL Eingabe: 5, 10 Ausgabe: 10 Ich habe diese Lösung gefunden. Kann mir jemand helfen, diese Codezeilen …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.