0 Daumen
290 Aufrufe

Der Code:

#include <iostream>
#include <iomanip>

using namespace std;

int main() {
 
int x,y,z;
x += y += z = 1;
count << x << " " << y << " " << z << endl;

x=5; y=2; z=1;
z += x<y ? y++ : x++;
cout << x << " " <<  y << " " << z << endl;


unsigned short int i;
i=0x00FF  | ( (1<<11) | (1<<15) ) ;
cout << hex << uppervase << i << endl;

i=0xFF00 & ( (1<<11) | (1<<15) ) ;
cout << hex << uppercase << i << endl;
return 0;



Aufgabe Bestimme die Ausgabe des Programms.

Lösungen*1) x=3; y =2;z=1 *2)x=6; y=2; z=6 *3) 88FF *4) 8800
Ansatz:
1) x=3;y=2; z=1 (z.10)
Wie man für den ersten Code (x+=y+=z = 1 auf => x=3;y=2;z=1 weiß ich)
Alle sind eins und das erste wird mit den zwei Variablen y ; z , das zweite mit z und der dritte behält seinen ursprünglichen Wert

Beim zweiten (z += x<y ? y++ : x++; ), wo die Lösung x=6;2;6 beträgt, denke ich, dass z erst mit x addiert wird und da x nicht kleiner als y addiert x sich um 1 erhöht.

Bei diesen Codes weiß ich nicht wie man an die Lösungen kommt 88FF und 8800:

Es wäre sehr nett, wenn ihr mir helfen würdet

Avatar von

88FF bezieht sich auf i=0x00FF  | ( (1<<11) | (1<<15) ) ;
cout << hex << uppervase << i << endl;


und 8800 auf i=0xFF00 & ( (1<<11) | (1<<15) ) ;
cout << hex << uppercase << i << endl;

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community