Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Différence entre un int décimal et un int hexa ?

1 réponse
Avatar
TigrouMeow
J'ai rencontré un petit problème dernièrement..

J'ai un code du style :
"#define MEMORY_START 0x0000F000
#define MEMORY_END 0x0000F500
#define FILE_SIZE 32
#define BUFFER 0x100"

Vous êtes bien d'accord, 0x100 donne bien 32 en hexa ?

Ensuite je fais un :
"for (c = MEMORY_START; c < MEMORY_END; c += BUFFER)
Pour chaque c, j'écris FILE_SIZE octets."

Dans ce cas ça fonctionne. Par contre si je fais :
"for (c = MEMORY_START; c < MEMORY_END; c += FILE_SIZE)"
Ca marche pas !

Comment cela se fait-il ?

1 réponse

Avatar
VANHULLEBUS Yvan
"TigrouMeow" writes:

J'ai rencontré un petit problème dernièrement..

J'ai un code du style :
"#define MEMORY_START 0x0000F000
#define MEMORY_END 0x0000F500
#define FILE_SIZE 32
#define BUFFER 0x100"

Vous êtes bien d'accord, 0x100 donne bien 32 en hexa ?


Euh..."Pas trop".....

0xFF, c'est 255 (valeur max d'un octet non signe), donc je te laisse
faire l'addition pour en conclure que, en fait, 0x100, ca ferait
plutot aux alentours des 256...

32, ca aurait plutot tendance a valoir a peu pres 0x20, en fait...


Ensuite je fais un :
"for (c = MEMORY_START; c < MEMORY_END; c += BUFFER)
Pour chaque c, j'écris FILE_SIZE octets."

Dans ce cas ça fonctionne. Par contre si je fais :
"for (c = MEMORY_START; c < MEMORY_END; c += FILE_SIZE)"
Ca marche pas !

Comment cela se fait-il ?


Bah du coup, l'explication me parait assez claire, non ?


A +

VANHU.