ADDITIONNER, SOUSTRAIRE ET MULTIPLIER DEUX NOMBRES, EN ÉVITANT LE DÉPASSEMENT DE

hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 - 13 déc. 2006 à 20:55
pifou25 Messages postés 144 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 21 décembre 2014 - 20 mars 2007 à 18:16
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40703-additionner-soustraire-et-multiplier-deux-nombres-en-evitant-le-depassement-de-capacite

pifou25 Messages postés 144 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 21 décembre 2014
20 mars 2007 à 18:16
bonjour!
Je viens de comprendre l'addition et la soustraction, mais je butte sur cette multiplication qui me semble un peu simpliste: c'est quoi l'argument "ByVal Sender As Grandsnombres" ?? d'ou vient ce grandsnombres...
Et puis pour quand la division :D merci a+
lemoutonfou1 Messages postés 6 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 8 mars 2007
8 mars 2007 à 21:50
oui mais pour avoir 200 chiffres commen fait-on?
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
19 déc. 2006 à 23:37
Ok merci

En effet j'ai reinstaller Visual Studio 2005 et les Long sont bien les Int64 sans doutes que mon probleme etait que j'avais du melanger des Int32 avec des long.

Bizare quand meme ces double appelations non ?

16 bits = Short ou Int16
32 bits = Integer ou Int32
64 Bits = Long ou Int64

++
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 déc. 2006 à 20:00
Pour .net, int32 est 32 bits comme son nom l'indique et Long est 64 comme dit plus haut.
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
19 déc. 2006 à 19:39
Salut BruNews,

Je partage tout a fait ton point de vue, le truc c'est que j'avais justement eu des erreurs lorsque j'avais compiler sous X64 et que j'ai executer sous Win32, j'ai passé mes long en int32 et plus d'erreur, j'ai fais tres peu de .net et j'ai pas regarde plus loin donc j'ai conclu surement trop vite que c'etait du au type long code sous 8 octet a la place de 4...

Mais quelle est la différence alors entre Int32 et un long ?

++
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 déc. 2006 à 19:30
Sans faire de .net je pense et j'espère que non, ce serait le souk pour la conception d'un algo.
C'est le langage qui détermine la longueur d'une variable, idem en C ou 'long' comme 'int' restent 4 octets même en compil 64.
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
19 déc. 2006 à 18:10
Salut a tous,

Eh en .net on travail plutot avec des Int16(2 octect) Int32(4 octet) et int64(8 octect) non ?

Le type long n'est il pas egal a un Int32 sur un OS 32bits et un Int64 sur un OS 64Bits ?

++
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
13 déc. 2006 à 21:49
effectivement, 8 octets et pas 16, je sais pas ou j'ai été cherché cette idiotie, autant pour moi ^^'
cependant cela retourne tout de meme FFFFFFFFFFFFFFFF, c'est seulement en vb6 (en antérieurs) que les long sont codés sur 4 octets, et donc environ égaux à 2 milliards.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 déc. 2006 à 21:03
sur 16 octets ???
peut-etre sur Itanium...
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
13 déc. 2006 à 20:55
un long en .net c'est codé sur 16 octets, donc max FFFFFFFFFFFFFFFF nan? (ça fait bien plus que 2 milliard : 18446744073709551615)
desolé de m'arreter là dessus et non sur la source, mais ça m'a interpelé ^^
Rejoignez-nous