2009-09-29 7 views

Répondre

30

Le format %d est un entier signé (décimal). Les entiers sont stockés en utilisant two's complement, ce qui signifie que le bit de poids fort (8000 0000) indique, en quelque sorte, le signe de la valeur.

Le compte à rebours de 3, les valeurs sont les suivantes:

0000 0003 = 3 
0000 0002 = 2 
0000 0001 = 1 
0000 0000 = 0 
FFFF FFFF = -1 
FFFF FFFE = -2 

etc.

Si vous voulez FFFF FFFF pour afficher un grand nombre positif, utilisez le format %u (non signé).

+0

oh, quel est le% pour longtemps? ou non signé? – user105033

+0

% u - vient d'être ajouté à la réponse :) –

+3

int est% d, non signé est% u, long int est% ld, long unsigned est% lu –

4

Les valeurs que vous mentionnez sont les deux la représentation du complément de -1 et -2

Consulter two's complement

3

Le premier bit sur un entier signé est le signe, de sorte que le nombre le plus élevé qui pourrait être stocké est 0xEFFFFFFF.

Questions connexes