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

Lazarus Pascal Discussion :

Utilisation des entiers (longs) et int64


Sujet :

Lazarus Pascal

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Utilisation des entiers (longs) et int64
    Bonjour,

    Uniquement par curiosité : je travaillais ce matin sur des int64.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    unit Unit1; 
    {$mode objfpc}{$H+}  
    [...]
    procedure TForm1.Button1Click(Sender: TObject); 
    var
      aSize : int64;
      i : integer;
    begin
      i := 259;
      aSize := i*1024*1024*1024;
      showmessage(IntToStr(aSize));
    end;
    --> -1073741824. Résultat faux. Nécessite un transtypage de i.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    unit Unit1; 
    {$mode objfpc}{$H+}  
    [...]
    procedure TForm1.Button2Click(Sender: TObject); 
    var
      aSize : int64;
      i : integer;
      iTmp64 : int64;
    begin
      i := 259;
      iTmp64 := i;
      aSize := iTmp64*1024*1024*1024;
      showmessage(IntToStr(aSize));
    end;
    --> 278099132416. Résultat correct.

    Par défaut, dans mon programme, i est un integer de type "32-bit"
    Donc, en résumé, il y a incompatibilité entre les integer (longint) et les int64...

    Le type des "1024" utilisés dans mes formules de calcul sont correctement interprétés qu'il s'agisse de calculs en 32 bits ou en 64 bits. Le type de "1024" c'est quoi ?

    Cordialement. Gilles
    Dernière modification par Invité ; 02/02/2011 à 12h14.

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/12/2011, 11h29
  2. Réponses: 4
    Dernier message: 03/07/2011, 17h50
  3. n'utiliser que des entiers dans un textbox
    Par MkcookieFIFO dans le forum Windows Forms
    Réponses: 4
    Dernier message: 17/05/2010, 10h48
  4. Utilisation des types entier non signés dans Win32
    Par colorid dans le forum Langage
    Réponses: 1
    Dernier message: 18/12/2009, 10h04
  5. Quel langage pour manipuler des entiers très longs ?
    Par mis_dj dans le forum Langages de programmation
    Réponses: 8
    Dernier message: 10/05/2006, 21h12

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