Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Logisches NICHT

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
11.11.2009, 19:12 Uhr
~minus
Gast


hi,

ich Arbeite mich gerade durch das Buch "C Programmieren von Anfang an" durch.

und ich glaube, das ich diesen abschnitt Logisches NICHT, nicht richtig oder nur teils verstanden habe.

so mal ein bsp.:

a=0;b=0;ergebnis= !(a&&!b);

mir geht es primär um diesen abschnitt !(a&&!b);

bedeutet dies, das ergebnis immer falsch ist?so nehme ich es an, aber warum ist dann noch mal vor dem (b ein !) ?das irritert mich ein wenig.warum steht es dort noch mal wenn das ergebnis doch eh falsch ist?

mfg minus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
11.11.2009, 19:29 Uhr
0xdeadbeef
Gott
(Operator)


Logisches NICHT bedeutet, dass der Ausdruck das Gegenteil des Ausdrucks ist, der negiert wird. Das heißt,

Wenn x falsch ist (x == 0), ist !x wahr (x == 1)
Wenn x wahr ist (x != 0), ist !x falsch (x == 0)
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
11.11.2009, 20:12 Uhr
~minus
Gast


ah, jetzt hat es klick gemacht

die Null stellt falsch und die Eins war dar^^

btw.: so sieht das ganze Programm aus, gehe ich richtig der Annahme das hie die Implikation erklärt wird?wegen !(a&&!b)


C++:
#include <stdio.h>

main() {
    int a,b,ergebnis;
    printf("\n\tW A H R H E I T S T A B E L L E\n");
    printf("\nA\tB\tErgebnis");
    a=0;b=0;ergebnis=!(a&&!b);
    printf("\n%i\t%i\t%i",a,b,ergebnis);
    a=0;b=1;ergebnis=!(a&&!b);
    printf("\n%i\t%i\t%i",a,b,ergebnis);
    a=1;b=0;ergebnis=!(a&&!b);
    printf("\n%i\t%i\t%i",a,b,ergebnis);
    a=1;b=1;ergebnis=!(a&&!b);
    printf("\n%i\t%i\t%i",a,b,ergebnis);
}



mfg minus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
11.11.2009, 20:39 Uhr
0xdeadbeef
Gott
(Operator)


!(a && !b) ist eine etwas geschwollene Art, a → b zu schreiben, ja. Auf mathematisch:

¬(a ^ ¬b) = ¬a v b = a → b
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: