2016-04-20 16 views
0

In logischen Ausdrücken verwenden wir zwei "und (&)" Operanden was ist der Grund? Wie funktioniert es im Hintergrund des Programms? Ich meine, wie macht Maschine diesen Befehl?Warum codieren wir (a && b) und nicht (a & b)?

+1

Die Wahl von '&&' vs '&' ist eine ** sprachspezifische Syntax Entscheidung ** und ist größtenteils für 'historische Gründe' an diesem Punkt, wo es sogar gilt. Ebenso sind die genauen Regeln (zB Kurzschließen oder nicht?) Und die Implementierung sprachen-/laufzeitspezifisch. – user2864740

+0

Bitte folgen Sie dem Thread: http://stackoverflow.com/questions/4163483/what-is-the-diffrence-between-and-operators-in-c-sharp –

Antwort

1

& ist ein bitweiser Operator und wertet immer beide Seiten aus.

&& ist ein logischer Operator, also wertet er die linke Seite aus und wenn es true ist, geht es weiter, um die rechte Seite zu bewerten. Aus diesem Grund wird es manchmal als Kurzschluss-Operation mit && bezeichnet.

Denken Sie daran, dass die genannten Operatoren in einer Vielzahl von Sprachen implementiert sind (C, C#, Java usw.) und Sie sollten die Dokumentation für die Sprache überprüfen, mit der Sie arbeiten.

0

Typischerweise werden zwei mit „und“ Operanden zwischen logischen und und bitweise und zu unterscheiden ist.

Was ist der Unterschied zwischen diesen Operationen?

"Logical und" (gewöhnlich dargestellt als & & oder "und" in den meisten Sprachen) vergleicht zwei boolean Werte. Die wichtige Sache hier ist, dass eine "logische und" führt Operationen auf Werte, die entweder wahr oder falsch sind. Die zugrunde liegende Implementierung, wie wahr und falsch in Bits ausgedrückt werden, spielt keine Rolle.

„bitweisen UND“ (repräsentiert durch einen einzigen „&“) führt eine ‚logische und‘ zwischen zwei Werten für jedes Bit in diesen Werten. Nehmen wir zum Beispiel zwei 8-Bit-Ganzzahlen ohne Vorzeichen: 5 und 9. Im Binärformat sieht 5 wie 00000101 aus. 9 sieht aus wie 00001001. Ein "bitweises" berechnet die Bits, die in beide-Nummern sind. Das Ergebnis einer bitweisen und zwischen 5 und 9 wäre 1, was binär 00000001 ist.

Googeln "bitweise Operationen" gibt Ihnen weitere Informationen dazu.

Verwandte Themen