Bitweise ganzzahlige Operationen
Letzte Aktualisierung: 12. Feb. 2025
Diese Funktionen ermöglichen, ganze Zahlen als Bitmuster zu manipulieren, die Komplement-Werte-von-Zweien darstellen, wobei die Bitposition
das Gewicht N
hat.2**N
Bits werden von 0 aufwärts nummeriert. Diese Operationen funktionieren so, als ob das Vorzeichenbit einer ganzen Zahl endlos nach links erweitert wird. Daher weisen positive ganze Zahlen überall oberhalb des werthöchsten 0-Bits auf, negative ganze Zahlen 1-Bits.
Funktion | Ergebnis | Beschreibung |
---|---|---|
|
Ganze Zahl | Ergibt das bitweise Komplement der ganzen Zahl GANZZ1. Das bedeutet, dass für jede Bitposition, für die INT1 den Wert 0 hat, eine 1 im Ergebnis vorhanden ist. Es ist immer wahr, dass . |
|
Ganze Zahl | Das Ergebnis dieser Operation ist das bitweise "inklusive Oder" von GANZZ1 und GANZZ2. Im Ergebnis steht also eine 1 für jede Bitposition, bei der bei GANZZ1 und/oder bei GANZZ2 der Wert 1 steht. |
|
Ganze Zahl | Das Ergebnis dieser Operation ist das bitweise "exklusive Oder" von GANZZ1 und GANZZ2. Im Ergebnis steht also eine 1 für jede Bitposition, bei der entweder bei GANZZ1 oder bei GANZZ2 der Wert 1 steht, nicht jedoch bei beiden. |
|
Ganze Zahl | Ergibt das bitweise "Und" der ganzen Zahlen GANZZ1 und GANZZ2. Im Ergebnis steht also eine 1 für jede Bitposition, bei der sowohl bei GANZZ1 als auch beiGANZZ2 der Wert 1 steht. |
|
Ganze Zahl | Ergibt das bitweise "Und" von GANZZ1 und das bitweise Komplement von GANZZ2. Im Ergebnis steht also eine 1 für jede Bitposition, bei der bei GANZZ1 der Wer 1 und beiGANZZ2 der Wert 0 steht. Dies entspricht und ist nützlich zum Löschen von INT1-Bits, die in INT2 festgelegt sind. |
|
Ganze Zahl | Ergibt das Bitmuster von GANZZ1, um N Positionen nach links verschoben. Ein negativer Wert von N führt zu einer Verschiebung nach rechts. |
|
Ganze Zahl | Ergibt das Bitmuster von GANZZ1, um N Positionen nach rechts verschoben. Ein negativer Wert von N führt zu einer Verschiebung nach links. |
|
Boolesch | Entspricht dem booleschen Ausdruck , ist jedoch effizienter. |
|
Boolesch | Entspricht dem booleschen Ausdruck , ist jedoch effizienter. |
|
Ganze Zahl | Zählt die Anzahl der 1- oder 0-Bits in der Zweierkomplementdarstellung von GANZZ. Wenn GANZZ nicht negativ ist, ist N die Anzahl der 1-Bits. Wenn GANZZ negativ ist, gibt dieser Wert die Anzahl der 0-Bits an. Aufgrund der Vorzeichenerweiterung gibt es unendlich Viele 0-Bits in nicht negativen ganzen Zahlen bzw. 1-Bits in negativen ganzen Zahlen. Folgendes ist immer der Fall: . |
|
Ganze Zahl | Gibt die Bitposition N des niedrigstwertigen Bits an, das in der ganzen Zahl GANZZ gesetzt wurde. N ist die höchste Potenz von 2, durch die sich GANZZ ohne Rest teilen lässt. |
|
Ganze Zahl | Ergibt die Länge von GANZZ als ganze Zweierkomplementzahl in Bit. Das heißt, N ist die kleinste ganze Zahl, sodass . Wenn INT nicht negativ ist, erfordert die Darstellung von INT als Ganzzahl ohne Vorzeichen ein Feld mit mindestens N Bits. Alternativ sind, unabhängig vom Vorzeichen, mindestens N+1 Bit erforderlich, um GANZZ als ganze Zahl mit Vorzeichen darzustellen. |
|
Boolesch | Testet das Bit an Position N in der ganzen Zahl GANZZ und ergibt den Status von Bit N als booleschen Wert, der bei 1 "wahr" und bei 0 "falsch" ist. |
War das Thema hilfreich?
0/1000