bonjour,
est ce que qqun peut m'expliquer pourkoi le type entier se limite à l'intervalle -32768 : 32767. et pourkoi cet intervalle n'est pas symetrique.
merci
bonjour,
est ce que qqun peut m'expliquer pourkoi le type entier se limite à l'intervalle -32768 : 32767. et pourkoi cet intervalle n'est pas symetrique.
merci
Salut!
Ce sont des conventions Pascal spécifiques à TP.
Là, il sagit d'un interval "signé", il est symétrique!!!
Le but de ce décalage de moitié, est de donner la possibilité au développeur d'utiliser des nombres négatifs.
Si tu divises 65536 par 2 = 32768, et comme le milieu de l'interval est 0: [-32768...-1] -> [0..32767].
Tu n'as qu'à utiliser le type Word si tu veux avoir un interval de 0 à 65535.
à+
Le type integer est codé sur 2 octets, il y a donc 2 ^ ( 2*8 ) combinaisons possibles, soit 65536. Le bit de poids le plus fort, c'est-à-dire le bit de puissance 15 ici, determine le signe du nombre. Si ce bit est à 1, Le nombre sera compris entre 32768 et 65535 et dans ce cas on lui retranchera 65536. On obtiendra ainsi un nombre compris entre -32768 et -1. Si le bit 15 est à 0, le nombre sera compris entre 0 et 32767 !
a+
2^16 (16 bits comme le dos) 2^32 (32 bits linux,windows,beos,solaris..)
donc tu peux coder un entier sur [-2^n -1,2^n]![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager