Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
--- was bedeutet || in c++? (http://www.informatikerboard.de/board/thread.php?threadid=2734)


Geschrieben von kolloq am 08.01.2016 um 16:22:

  was bedeutet || in c++?

Meine Frage:
Hi,
ich beschäftige mich noch nicht sehr lange mit C++, deshalb habe ich diese Anfängerfrage, die mir Google leider nicht beantworten konnte:
Was bedeutet || (Doppelstrich)?

Danke für eure Hilfe. smile

Meine Ideen:
Ein einzelner bedeutet oder, das es ein Vergleichsoperator ist, weiß ich auch. Verhält sich das vielleicht wie beim Überprüfen auf Gleichheit, da verwendet man ja auch zwei == (Gleichheitszeichen)?



Geschrieben von eulerscheZahl am 08.01.2016 um 16:28:

 

| ist das bitweise ODER,
|| ist das logische ODER.
5 | 6 ist 7 (5 ist binär 101, 6 ist 110), die Bits werden einzeln ODER verknüpft, was zu 111, also 7 führt.
Beim logischen ODER wird erst die linke Seite ausgewertet. Wenn die erfüllt ist, wird die rechte gar nicht mehr geprüft, da TRUE ODER X = TRUE ergibt.

Genauso verhält es sich mit & und &&.



Geschrieben von Shizmo am 08.01.2016 um 17:43:

 

Gibt es diese bitweisen Verknüpfungen auch in Java und in C?



Geschrieben von eulerscheZahl am 08.01.2016 um 17:48:

 

Ja, mit der selben Syntax.
x | y //bitweises ODER
x & y //bitweises UND
x ^ y //bitweises XOR
~x //1er Komplement - also alle Bits invertiert
!x //Negation, in Java aber nur für boolean. C/C++ macht das auch für int/float
x << y //leftshift
x >> y //rightshift

Das sollten glaube ich alle gewesen sein.


Forensoftware: Burning Board, entwickelt von WoltLab GmbH