Bitwise '&' Operator

7

Mir fehlt ein Grundverständnis in bitweisem '& amp;' Betreiber.

%Vor%

Also warum die Ausgabe der unteren if Bedingung ist true Ursache und der Bits 101 & 100 sollte false sein:

%Vor%     
Prakash 09.12.2013, 11:02
quelle

6 Antworten

17

5 ist 101

4 ist 100

5 & amp; 4 ist nicht 0:

%Vor%

Problem gelöst ✓

Erläuterung :

In C erfüllt jeder Wert ungleich null die Bedingung if . Bedeutung, wenn Sie schreiben:

%Vor%

Während:

%Vor%     
Maroun 09.12.2013, 11:03
quelle
3
%Vor%

Es ist wahr.

    
user1814023 09.12.2013 11:04
quelle
2

Weil 0b100 & 0b101 gleich 0b100 ist und letzteres nicht gleich 0 .

    
alk 09.12.2013 11:03
quelle
1
%Vor%

oder

%Vor%

und 4 ist nicht Null und druckt Yes

    
Sibi Rajasekaran 09.12.2013 11:05
quelle
1

Es tritt in die if-Bedingung ein. Weil nach der Operation & der Wert ungleich Null zurückgegeben wird. In C gilt für alle Werte ungleich null, dass es wahr ist.

    
Imtiaz Emu 09.12.2013 11:55
quelle
1

Das Verständnis von bitweisen Operator-Wahrheitstabellen ist entscheidend. Betrachten Sie Folgendes, wobei A und B Eingaben sind und Y die Ausgabe ist.

& amp; (Bitweise und) Wenn die Eingaben A und B wahr sind, ist Ausgabe wahr; Andernfalls ist die Ausgabe falsch

%Vor%

| (Bitweises Oder) Wenn A oder B oder beide Eingaben wahr sind, ist die Ausgabe wahr; Andernfalls ist die Ausgabe falsch

%Vor%

^ (Bitweises X-Or) Wenn A und B entgegengesetzte Zustände sind, ist die Ausgabe wahr; Andernfalls ist die Ausgabe falsch

%Vor%

! (Bitweise nicht) Ausgabe ist der entgegengesetzte Status der Eingabe

%Vor%

Ihre Gleichung (5 & amp; 4) == (0101 & amp; 0100) == 0100 == 4 == wahr

%Vor%     
Fiddling Bits 09.12.2013 16:01
quelle

Tags und Links