Abbassamento di livello degli interiDemotion of Integers

ANSI 3.2.1.2 Il risultato della conversione di un intero in un intero con segno più breve o il risultato della conversione di un intero senza segno in un intero con segno di uguale lunghezza, se il valore non può essere rappresentatoANSI 3.2.1.2 The result of converting an integer to a shorter signed integer, or the result of converting an unsigned integer to a signed integer of equal length, if the value cannot be represented

Quando si esegue il cast di un intero long a un tipo short oppure di un tipo short a un tipo char, i byte meno significativi vengono mantenuti.When a long integer is cast to a short, or a short is cast to a char, the least-significant bytes are retained.

Ad esempio, questa rigaFor example, this line

short x = (short)0x12345678L;  

assegna il valore 0x5678 a x e questa rigaassigns the value 0x5678 to x, and this line

char y = (char)0x1234;  

assegna il valore 0x34 a y.assigns the value 0x34 to y.

Quando le variabili con segno vengono convertite in variabili senza segno e viceversa, gli schemi di bit rimangono invariati.When signed variables are converted to unsigned and vice versa, the bit patterns remain the same. Ad esempio, se si esegue il cast di -2 (0xFE) a un valore senza segno, viene restituito 254 (anche 0xFE).For example, casting -2 (0xFE) to an unsigned value yields 254 (also 0xFE).

Vedere ancheSee Also

Valori IntegerIntegers