Ich arbeite in C++ und ich hatte (als Übung) auf Papier 2 Antworten zu schreiben. Die erste Frage: Wenn wir die folgenden Deklarationen und Initialisierungen von Variablen:Wert von a + b und char Typ
unsigned char x=250, z=x+7, a='8';
Was ist der Wert des Ausdrucks?
z|(a-'0') // (here | is bitwise disjunction)
Wir unsigned char haben, so dass die Zahl z=x+7
reduziert mod 256, also nach den Zahlen in binärer schreiben, ist die Antwort 9.
Die nächste Frage: a und b int Variablen, a=1
und .
Der Bereich von Int ist [-32768, 32767]
. Wir haben hier keinen vorzeichenlosen Typ. Meine Frage ist: Was ist der Wert von ? Wie funktioniert das mit signierten Datentypen, wenn der Wert einer bestimmten Variablen größer als der Bereich dieses Datentyps ist?
Was denken Sie über den Wert von a + b? –
-32768 aber ich möchte sehen, wie das tatsächlich funktioniert. – shibuya
"hier | ist bitweise disjunction" - ja, wir wissen, dass – harold