C-Nachhilfe in Sachen logische Operatoren
Tom
- sonstiges
0 josh0 Tom0 Christian Seiler0 josh0 Vinzenz Mai0 Tom
0 Otto
Hello,
kann mir jemand verständlich erklären, was in C/C++ der Unterschied zwischen den beiden Oder-Operatoren
|
||
ist?
Irgendwie verstehe ich das mit "wenn der Operand nicht ganzzahlig ist" nicht.
Es wird doch bei beiden bitweise verglichen, oder?
Ein harzliches Glückauf
Tom vom Berg
Hallo,
| => bitweise
|| => logisch (beide Operanden werden als Boolean ausgewertet und darauf "oder" angewendet)
Gruß
Hello,
| => bitweise
|| => logisch (beide Operanden werden als Boolean ausgewertet und darauf "oder" angewendet)
Danke.
Das stand leider in keinem der gefundenen Dokumente so drin.
also 1010 | 0100 -> 1110
und 1010 || 0100 -> 1
ist das richtig so?
Ein harzliches Glückauf
Tom vom Berg
Das stand leider in keinem der gefundenen Dokumente so drin.
http://www.php.net/manual/de/language.operators.bitwise.php
http://www.php.net/manual/de/language.operators.logical.php
also 1010 | 0100 -> 1110
und 1010 || 0100 -> 1
Ja.
Hallo,
also 1010 | 0100 -> 1110
und 1010 || 0100 -> 1ist das richtig so?
Sofern das Bits sein sollen, ja ;-)
Gruß
Hallo Tom,
| => bitweise
|| => logisch (beide Operanden werden als Boolean ausgewertet und darauf "oder" angewendet)Danke.
Das stand leider in keinem der gefundenen Dokumente so drin.
das steht in jedem halbwegs ordentlichen C-Anfängerbuch drin :-)
auch in diesem OpenBook C von A bis Z:
http://pronix.linuxdelta.de/C/standard_C/c_programmierung_9.shtml#5
http://pronix.linuxdelta.de/C/standard_C/c_programmierung_11.shtml#5
Freundliche Grüße
Vinzenz
Hello Vinzenz,
das steht in jedem halbwegs ordentlichen C-Anfängerbuch drin :-)
auch in diesem OpenBook C von A bis Z:
http://pronix.linuxdelta.de/C/standard_C/c_programmierung_9.shtml#5
http://pronix.linuxdelta.de/C/standard_C/c_programmierung_11.shtml#5
Die Links nehem ich gleich mit auf.
Vielleicht lerne ich C/C++ dann ja doch noch irgendwann richtig :-)
Ein harzliches Glückauf
Tom vom Berg
Hi Tom,
Das Stichwort ist Short-circuit evaluation(1). Der Untenstehende Code sollte das veranschaulichen.
int foobar ( )
{
printf ("foobar");
return 0;
} /* ----- end of function foobar ----- */
int
main ( int argc, char *argv[] )
{
if ( (1 == 0) && foobar () )
printf("Hello");
if ( (1 == 0) & foobar () )
printf("Hello");
return EXIT_SUCCESS;
} /* ---------- end of function main ---------- */
(1)http://en.wikipedia.org/wiki/Short-circuit_evaluation
MfG
Otto