Was sind bitweise Operatoren?

In einem Computerprogramm bitweise sind Operatoren Operatoren für die Manipulierung der Bitmuster in den Ausdrücken. Bitweise UND ODER, Exklusives ODER (XOR) NICHT nach rechts verschieben und Linksverschiebung sind allgemeine Betriebe. Die meisten ComputerProgrammiersprachen umfassen alle sechs dieser Operatoren. Sie sind für Einstellung häufig benutzt und löschen oder leicht schlagen einzelne Spitzen in den Programmen, die Steuercomputerhardware. Bitweise verwendet Operatoren auch häufig in der Datenverschlüsselung und in den Kompressionsalgorithmen.

Die Operatoren des Common bitweise dargestellt normalerweise symbolisch in Programmiersprachen wie C, C++ und Java nd. Sie verwendet in den Ausdrücken, gerade da arithmetische Operatoren wie Plus oder minus der Zeichen sein. Der bitweise Operator UND dargestellt mit dem Etzeichen u. ODER mit dem Rohr r | und XOR mit dem Zeiger ^. NICHT, alias angezeigt der Ergänzungsoperator, mit einem Tilde ~.

Der rechte Schiebeoperator benutzt einen Doppeltzeiger zeigend rechts >>. Demgegenüber angezeigt Linksverschiebung durch einen link-Zeigec$doppeltzeiger<>. Java einschließt einen anderen rechten Schiebebetrieb e-, gezeigt mit einem recht-Zeigec$dreifachzeiger >>>.

Bitweise anwenden Operatoren eine funktionelle Operation an jedem Paar Spitzen in ihren Rechengrößen n. NICHT nach rechts verschieben und Linksverschiebung haben nur eine zutreffende Rechengröße; der zweite Wert in den Schiebebetrieben ist- der Spitzenzählimpuls. Um besser zu verstehen wie bitweise Operatoren arbeiten, kann eine Einzelperson ihre Rechengrößen als binäre Ziffern sichtbar machen. Z.B. leicht schlägt der Ergänzungsoperator jede Spitze seiner einzelnen Rechengröße zum gegenüberliegenden Zustand. Ein man wird null und null wird das. Die Ergänzung des binären 8-Bitwertes 00110101 ist 11001010.

UND Operator hat zwei Rechengrößen. Spitze durch Spitze, ein logisches UND Betrieb durchgeführt using ein entsprechendes Bit von jeder Rechengröße eder. Das Resultat jedes Spitzenbetriebes gelegt in diese Bitstelle des Gesamtresultats. Z.B. UND Operator verarbeitet Spitze 7 von einer Rechengröße mit Spitze 7 der anderen Rechengröße. Das Resultat gespeichert in Spitze 7 des Gesamtresultats.

In UND im Betrieb müssen beide Rechengrößenspitzen eine damit das werden Resultat sein eins, andernfalls ist das Resultat null. Z.B. wenn die binären 8-Bitwerte der Rechengrößen 00110101 und 11110000 sind, ist das Resultat 00110000. Ein allgemeiner Gebrauch UND des Operators ist zu heraus bestimmten Spitzen null im Resultat. Dieses getan, indem man setzt, auf Null einstellt innen jene Bitstellen in einer der Rechengrößen.

In ODER im Betrieb müssen beide Rechengrößenspitzen null damit das werden Resultat sein null; andernfalls ist das Resultat eins. Ein allgemeiner Gebrauch ODER des Operators ist, bestimmte Spitzen des Resultats auf eine einzustellen. Dieses getan, indem man eine in jene Bitstellen in einer der Rechengrößen legt. Für den XOR Betrieb ist das Resultat null, wenn beide Rechengrößenspitzen null sind, oder wenn beide Rechengrößenspitzen ein-andernfalls sind, das Resultat ist eins.

Linksverschiebung und Rechtverschiebung verschieben die Spitzen in der Rechengröße, die gelassen oder durch die spezifizierte Zahl Bitstellen recht. Eine logische rechte Verschiebung verschiebt null in die am weitesten links liegende Spitze als Teil der Verschiebung. Eine arithmetische rechte Verschiebung kopiert das am weitesten links liegende Spitze-d Zeichen Spitze-vor der Verschiebung in die gleiche Position nach der Verschiebung. Die ursprüngliche Spitze verschoben auch nach rechts zusammen mit dem Rest. Jede Art Linksverschiebung verschiebt null in die am weitesten rechts stehende Spitze.

Wenn eine Rechengröße recht-verschoben, die am weitesten rechts stehende Spitze, bevor die Verschiebung einfach weggeworfen. Ähnlich entledigt die am weitesten links liegende Spitze vor einer Linksverschiebung. Sie einwickelt herum nicht zum anderen Ende der Rechengröße n.

Bitweise sind- Schiebebetriebe Sprache und Implementierung-abhängiges. Z.B. in C und in C++, >> und<> logische Verschiebungen durchführen, wenn die Rechengröße eine nicht unterzeichnete ganze Zahl ist. Wenn die Rechengröße eine Ganzzahl mit Vorzeichen ist, ist es wahrscheinlich, dass eine Stellenwertverschiebung anstatt erfolgt. In Java gelten alle Rechengrößen als unterzeichnet, und Stellenwertverschiebungen durchgeführt immer mit >> und<>. Der >>> Operator verwendet für eine logische rechte Verschiebung, aber es ist zu versehentlich tut eine arithmetische rechte Verschiebung anstatt ohne vorsichtigen Typecasting noch möglich.

Komplikationen können auch entstehen, wenn Rechengrößen verschiedene Spitzenlängen haben, oder wenn einige unterzeichnet und einige nicht unterzeichnet sind. Bitweise Operatoren und numerische Konstanten mitten in einem komplizierten Ausdruck können möglicherweise nicht ausgewertet werden, wie vorweggenommen. Sorgfalt muss angewendet werden, um die Größe und die unterzeichnete/nicht unterzeichnete Art jeder Quantität im Ausdruck zu spezifizieren. Dieses kann mit vorsichtigem Typecasting getan werden, oder Zwischenanweisungen zu spezifischem variablem eintippt Programmcode pt.