Suchergebnisse für Anfrage "integer-promotion"

10 die antwort

Wenn char c = 0x80, warum gibt printf ("% d \ n", c << 1) -256 aus?

#include<stdio.h> int main(void) { char c = 0x80; printf("%d\n", c << 1); return 0; }Die Ausgabe ist-256 in diesem Fall. Wenn ich @ schreic << 0 dann ist die Ausgabe-128. Ich verstehe die Logik hinter diesem Code nicht.

2 die antwort

Wird unsigniertes Zeichen immer zu int befördert?

Angenommen, das Folgende:

4 die antwort

Führt der Unary + Operator Typkonvertierungen durch?

Bis jetzt habe ich geglaubt, dass es keinen Gebrauch von unary gibt+ Operator. Aber dann bin ich auf folgendes Beispiel gestoßen: char ch; short sh; int i; printf("%d %d %d",sizeof(ch),sizeof(sh),sizeof(i)); // output: 1 2 4 printf("%d %d ...

TOP-Veröffentlichungen

2 die antwort

Sind die "üblichen arithmetischen Umrechnungen" und die "ganzzahligen Umrechnungen" dasselbe?

Sind die "üblichen arithmetischen Umrechnungen" und die "ganzzahligen Umrechnungen" dasselbe? Ich habe gelesen, dass die "üblichen arithmetischen Konvertierungen" verwendet werden, um die Operanden eines Ausdrucks vom selben Typ zu machen, ...

1 die antwort

Integrale Förderung

Wann kann eine vorzeichenbehaftete Ganzzahl nicht alle Werte des ursprünglichen Typs in Bezug auf die Ganzzahl-Heraufstufung darstellen?Aus dem Text K &amp; ...

2 die antwort

Yoda Bedingungen und ganzzahlige Promotion

Wenn ein Typ verglichen wird, der größer als @ iint Muss ich bei einer Ganzzahlkonstante die Konstante links oder rechts platzieren, um sicherzustellen, dass der richtige Vergleich durchgeführt wird? int64_t i = some_val; if (i == -1)oder sollte ...

8 die antwort

Warum werden Integer-Typen während der Addition in C gefördert?

So hatten wir ein Feldproblem und haben das Problem nach Tagen des Debuggens auf dieses bestimmte Stück Code eingegrenzt, bei dem die Verarbeitung in einer while-Schleife nicht stattgefunden hat: // heavily redacted code // numberA and numberB ...

1 die antwort

Warum ist common_type nicht <long, unsigned long> :: type = long long?

4 die antwort

Bitshift und Integer-Promotion?

Normalerweise erfordert C, dass die Operanden eines Binäroperators in den Typ des übergeordneten Operanden hochgestuft werden. Dies kann ausgenutzt werden, um zu vermeiden, dass Code mit ausführlichen Darstellungen gefüllt wird. Beispiel: if ...

2 die antwort

Welcher Typ wird in einem C-Ausdruck, in dem unsigned int und signed int vorhanden sind, zu welchem Typ heraufgestuft?

Ich habe eine Frage zu den Regeln für die Datentyp-Heraufstufung in der Standardsprache C. Das C99 sagt, dass: C-Integer-Promotions erfordern außerdem Folgendes: "Wenn ein Int alle Werte des ursprünglichen Typs darstellen kann, wird der Wert in ...