Ich habe versucht, C in meiner Freizeit zu lernen, und andere Sprachen (C #, Java usw.) haben das gleiche Konzept (und oft die gleichen Operatoren) ... Was ich frage mich ist, bei einer Kern Ebene, was bedeutet Bit-Verschiebung ( <<, >>, >>>) zu tun, welche Probleme kann es lösen helfen, …
Von einem Kollegen als Puzzle gegeben, kann ich nicht herausfinden, wie dieses C-Programm tatsächlich kompiliert und ausgeführt wird. Was ist dieser >>>=Operator und das seltsame 1P1Literal? Ich habe in Clang und GCC getestet. Es gibt keine Warnungen und die Ausgabe ist "???" #include <stdio.h> int main() { int a[2]={ 10, …
Multiplikation und Division können beispielsweise mit Bitoperatoren erreicht werden i*2 = i<<1 i*3 = (i<<1) + i; i*10 = (i<<3) + (i<<1) und so weiter. Ist es tatsächlich schneller, say (i<<3)+(i<<1)zu verwenden, um mit 10 zu multiplizieren, als i*10direkt zu verwenden? Gibt es irgendeine Art von Eingabe, die auf diese …
Ich habe diese Kuriosität entdeckt: for (long l = 4946144450195624l; l > 0; l >>= 5) System.out.print((char) (((l & 31 | 64) % 95) + 32)); Ausgabe: hello world Wie funktioniert das?
Ich habe mir die Quelle der sortierten Container angesehen und war überrascht, diese Zeile zu sehen : self._load, self._twice, self._half = load, load * 2, load >> 1 Hier loadist eine ganze Zahl. Warum Bitverschiebung an einer Stelle und Multiplikation an einer anderen verwenden? Es erscheint vernünftig, dass die Bitverschiebung …
Ich habe mir Code von Mozilla angesehen, der Array eine Filtermethode hinzufügt, und er hatte eine Codezeile, die mich verwirrte. var len = this.length >>> 0; Ich habe noch nie >>> in JavaScript verwendet gesehen. Was ist das und was macht es?
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?
Ist Endianness bei den bitweisen Operationen überhaupt wichtig? Entweder logisch oder wechselnd? Ich arbeite an Hausaufgaben in Bezug auf bitweise Operatoren, und ich kann weder Kopf noch Zahl darauf machen, und ich denke, ich bin ziemlich auf die Endianess fixiert. Das heißt, ich benutze eine kleine Endian-Maschine (wie die meisten), …
Warum, wenn ich versuche, Bits für 11010100 2 zu verschieben , ist das Ergebnis 110101000 2 , nicht 10101000 2 . int a = Integer.parseInt("11010100", 2) << 1; Ich versuche das zu tun: int a = (byte)(Integer.parseInt("11010100", 2) << 1); Wenn der Ausgabewert jedoch größer als 128 ist, geht alles …
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.