On peut aussi faire comme les babylonniens et calculer en base 60 :D
C'est pour ca qu'on a 60 min dans 1 heure :D
fo dire 60 a bcp de divisieur.
15, 20, 30, 5,
c'est pour ca qu'on a le 1/4 d'heure :D
Non hormis la base 16 ou peutetre la base 32 avec de l'imagination mais c'est pas prevu pour... le plus rapide reste toujours la version binaire a 2 positions...
================
6Po
DreamersTeam HomePageEmail-------------------------------
Réponse au message :
-------------------------------
Est ce qu'on pourrait pas faire un changement de base ? Comme ça le nombre serait moins grand.
Mais dans ce cas il faut un module pour faire les calculs avec ces nombres. Exemple en hexa, il y a des lettre (A, B, C,...) mais il y en a aussi en base 36, mais que vb ne sait pas utiliser. D'où l'interet d'un ou plusieurs modules pour faire les calculs.
-------------------------------
Réponse au message :
-------------------------------
C'est clair il faut que w <= racine carre de la valeur max du type.
Pour un entier envion 194... max entier 32767
Doit surment avoir un autre truc mais bon deja modulo 194 c'est pas mal :D
================
6Po
DreamersTeam HomePageEmail-------------------------------
Réponse au message :
-------------------------------
Ceci va fonctionner très bien, à condition que 'w' ne soit pas trop grand ! s'il dépasse la valeur critique de 65 536 (2^16) pour un long signé, ou 4 294 967 296 (2^32) pour un long non signé, alors il peut y avoir un dépassement de capacité. Et comme en VB, on n'a accès qu'à des longs signés, c'est presque foutu si w>65 536...
(: Sibo ;)
-------------------------------
Réponse au message :
-------------------------------
Petite formule math que je viens de trouver pour contourner un probleme des longs. (Depacement capacite)
(x * y) Mod w = (x Mod w * Y Mod w) Mod w
Bien sur la 2e solution est plus longue mais elle peut evier le probleme comme j'ai eu quand x et y sont des longs avec des grandes valeurs
6Po
http://www.dreamersteam.org