Page 1 sur 1

Problème d'addition incompréhensible

Publié : ven. 31/oct./2014 11:41
par Lord Nelson
Salut, voici le problème ou je vois pas ou est le problème, deux façon de faire, chez moi ça va jamais au dessus de 4294967295:

Code : Tout sélectionner

Procedure Test(A, B, C, D, E)
  
  Nombre.Q = A + (B * 256) + (C * 65536) + (D * 16777216) + (E * 4294967296)
  Debug Nombre.Q
  
  Nombre.Q = 0
  
  Nombre.Q = A + (B * 256)
  Debug Nombre.Q
  
  Nombre.Q + (C * 65536)
  Debug Nombre.Q
  
  Nombre.Q + (D * 16777216)
  Debug Nombre.Q
  
  Nombre.Q + (E * 4294967296)
  Debug Nombre.Q
  
EndProcedure

Test(255, 255, 255, 255, 255)
Une idée ?, un bug ?

Alors, que dire de ça:

Code : Tout sélectionner

Procedure Test(A, B, C, D, E, F, G, H)
  
  Nombre.Q = A + (B * 256) + (C * 65536) + (D * 16777216) + (E * 4294967296) + (F * 1099511627776) + (G * 281474976710656) + (H * 72057594037927936)
  Debug Nombre.Q
  
EndProcedure

Test(255, 255, 255, 255, 255, 255, 255, 255)
Le résultat finale dépasse pas un Quad (18 446 744 073 709 551 615)

Re: Problème d'addition incompréhensible

Publié : ven. 31/oct./2014 11:59
par TazNormand
Quad .q 8 octets -9 223 372 036 854 775 808 à +9 223 372 036 854 775 807

Dépassement large d'un Quad

Re: Problème d'addition incompréhensible

Publié : ven. 31/oct./2014 12:33
par falsam
Je sens que le sujet sur le moyen de calculer les trés grand nombre est proche :mrgreen:

Re: Problème d'addition incompréhensible

Publié : lun. 03/nov./2014 11:52
par djes
falsam a écrit :Je sens que le sujet sur le moyen de calculer les trés grand nombre est proche :mrgreen:
:mrgreen:
Qu'est-ce qu'un nombre, au fait ? :roll: