FirebirdSQL logo
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 nombre BIGINT, 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ême 0x1 est évalué comme INTEGER. 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 en SMALLINT 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 de 0xFFFF8000 (décimal -32768) à 0xFFFFFFFFFF (décimal -1).

Les littéraux logiques

Un littéral logique peut prendre l’une des valeurs suivantes : TRUE, FALSE ou UNKNOWN.