Plage de valeurs hexadécimales
-
Nombres hexadécimaux dans la plage 0 . 7FFF FFFF sont des nombres positifs
INTEGER
avec les valeurs 0 . 2147483647. Pour interpréter une constante comme un nombreBIGINT
, vous devez ajouter le nombre de zéros à gauche. Cela changera le type mais pas la valeur. -
Numéros dans la plage 8000 0000 . FFFF FFFF nécessitent une attention particulière :
-
Lorsqu’ils sont écrits avec huit nombres hexadécimaux tels que
0x9E44F9A8
, ils sont interprétés comme des entiers de 32 bits. Le bit le plus à gauche (le chiffre|la signature) étant activé, ces nombres se situent dans la plage négative -2147483648 . -1. -
Les nombres précédés d’un ou plusieurs zéros, tels que
0x09E44F9A8
, seront interprétés comme des BIGINT 64 bits dans la plage de valeurs 0000 0000 8000 0000 . 0000 0000 0000 FFFF FFFF. Dans ce cas, le bit de signature n’est pas activé, ils sont donc affichés dans la plage positive 2147483648 .. 4294967295 nombres décimaux.
Ainsi, ce n’est que dans cet intervalle que les nombres précédés d’un zéro totalement insignifiant ont des valeurs radicalement différentes.Vous devez en être conscient.
-
-
Nombres hexadécimaux dans la plage 1 0000 0000 . 7FFF FFFF FFFF FFFF sont des nombres positifs `BIGINT'.
-
Nombres hexadécimaux dans la plage 8000 0000 0000 0000 0000 … FFFF FFFF FFFF FFFF sont des nombres `BIGINT' négatifs.
-
Les nombres de type
SMALLINT
ne peuvent pas être écrits en hexadécimal, à proprement parler, puisque même0x1
est évalué commeINTEGER
. Cependant, si vous écrivez un entier positif dans la plage de 16 bits allant de 0x0000 (zéro décimal) à0x7FFF
(32767 décimal), il sera converti enSMALLINT
de manière transparente.Vous pouvez écrire un nombre
SMALLINT
négatif en hexadécimal en utilisant un nombre hexadécimal de 4 octets allant de0xFFFF8000
(décimal -32768) à0xFFFFFFFFFF
(décimal -1).