IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Pascal Discussion :

[LG]type entier


Sujet :

Langage Pascal

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2003
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [LG]type entier
    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

  2. #2
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    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.
    à+
    De retour parmis vous après 10 ans!!

  3. #3
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 308
    Points
    4 308
    Par défaut
    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+
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  4. #4
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 37
    Points : 41
    Points
    41
    Par défaut lol
    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]

Discussions similaires

  1. [D7], [MS SQLSERVER], filtrer sur un champ de type entier
    Par iam dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/12/2006, 17h19
  2. Passer d'un type entier à date
    Par nellynew dans le forum Access
    Réponses: 4
    Dernier message: 12/09/2006, 11h49
  3. [Fortran 90] Type entier non signé
    Par nnath dans le forum Fortran
    Réponses: 2
    Dernier message: 17/07/2006, 01h21
  4. Calculer la longueur d'une variable de type entier
    Par juliendeparis dans le forum C
    Réponses: 13
    Dernier message: 08/06/2006, 14h44
  5. [API] résultat d'un Insert sur un champs de type entier
    Par Popoyan dans le forum Bases de données
    Réponses: 3
    Dernier message: 05/06/2006, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo