Veröffentlicht 26. Januar 201213 j hi, ich schreibe morgen eine arbeit in c und ich kappiere einfach nicht wie logische operatoren in der funktion printf() funktionieren. ich habe hier mal eine beispielaufgabe kopiert: Geben Sie die Programmausgaben der jeweiligen Programmzeile als Kommentar an. #include <stdio.h> main() { int i = 5; int j = 11; float e = 2.718281828f; float result; printf( "%x \n" , i & j ); /* Ausgabe: */ printf( "%x \n" , ~i & j ); /* Ausgabe: */ printf( "%x \n" , i | j ); /* Ausgabe: */ printf( "%x \n" , i ^ j ); /* Ausgabe: */ printf( "%x \n" , i<<2 ); /* Ausgabe: */ printf( "%d \n" , j%i ); /* Ausgabe: */ printf( "%d \n" , ((i>>1) ^ j) && i ); /* Ausgabe: */ result = (int) (e + 0.5f); printf( "%f \n", result ); /* Ausgabe: */ Kann mir bitte jemand helfen?
26. Januar 201213 j Was verstehst du denn nicht? Die Operatoren arbeiten an der Stelle genauso wie an allen anderen auch. Wenn du nicht weißt was die Operatoren machen solltest du dir die entsprechende Dokumentation durchlesen. Hier sind die auch nochmal erkklärt Operators in C and C++ - Wikipedia, the free encyclopedia
26. Januar 201213 j Bitwise operation - Wikipedia, the free encyclopedia Es sind einfach Operatoren die Bits auf 1 oder NULL setzen... quasi Rechnungen mit denen macht Was vielleicht hilf bei dir: printf( "%x \n" , i & j ); /* Ausgabe: */ i = 5 = 0101 (BIN) j = 11 = 1011 (BIN) und das "&" steht für AND siehe http://en.wikipedia.org/wiki/Bitwise_operation#AND 0101 1011 ----- 0001 = 1 (DEZ) also 5 & 11 = 1 (DEZ) Weil eine 1 als Ergebnis nur kommt wenn beide Bits auf 1 stehen Bearbeitet 26. Januar 201213 j von fisianer2009
26. Januar 201213 j ok danke. könnt ihr mir bitte die lösung für die aufgaben posten, damit ich mich selbst kontrollieren kann
26. Januar 201213 j lol, netter Versuch aber deine Hausaufgaben darfst du selber machen. Wir helfen dir nur bei konkreten Fragen
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.