Spostamenti a destraRight Shifts

Il risultato di uno spostamento a destra di un valore negativo tipo integrale con segnoThe result of a right shift of a negative-value signed integral type

Lo spostamento di un valore negativo a destra produce la metà del valore assoluto, arrotondato per difetto.Shifting a negative value to the right yields half the absolute value, rounded down. Ad esempio, un valore short signed di -253 (valore esadecimale 0xFF03, valore binario 11111111 00000011) spostato a destra di un solo bit produce -127 (valore esadecimale 0xFF81, valore binario 11111111 10000001).For example, a signed short value of -253 (hex 0xFF03, binary 11111111 00000011) shifted right one bit produces -127 (hex 0xFF81, binary 11111111 10000001). Un positivo 253 spostato a destra produce + 126.A positive 253 shifted right produces +126.

Spostamenti a destra mantengono il bit del segno di tipi integrali con segno.Right shifts preserve the sign bit of signed integral types. Quando un intero con segno scorre a destra, il bit più significativo rimane impostato.When a signed integer shifts right, the most-significant bit remains set. Ad esempio, se 0xF0000000 è con segnoint, uno spostamento a destra produce 0xF8000000.For example, if 0xF0000000 is a signed int, a right shift produces 0xF8000000. Lo scorrimento di un numero int negativo a destra 32 volte produce 0xFFFFFFFF.Shifting a negative int right 32 times produces 0xFFFFFFFF.

Quando un intero senza segno scorre a destra, il bit più significativo viene cancellato.When an unsigned integer shifts right, the most-significant bit is cleared. Ad esempio, se 0xF000 è senza segno, il risultato è 0x7800.For example, if 0xF000 is unsigned, the result is 0x7800. Lo scorrimento di un numero unsigned positivo int a destra 32 volte produce 0xFFFFFFFF.Shifting an unsigned or positive int right 32 times produces 0x00000000.

Vedere ancheSee Also

Valori IntegerIntegers