Notion d'infini en vb6

Contenu du snippet

J'ai lu recement dans le forum quelqu'un qui demandait des renseignements sur l'infini et apres un long delire des moderateurs (^^) sur cette notion plus qu'abstraite, la reponse a la question comment savoir si un nombre est infini ou comment faire des calcules avec l'infini n'etait pas tres claire.
Je me suis apercu depuis peu que les nombres Double et Single, renvoyaient des informations exploitabes losque l'on faisait des calcules avec des expressions tel que 1 / 0 ou 0 / 0.

Bon le bout de code que j'ai ecrit montre comment exploiter ces infos rien de tres compliqué.

Source / Exemple :


Private Sub Form_Load()

On Error Resume Next
' vu que 1 / 0 renvois division par 0 on est obligé de desactiver les erreurs

Dim a As Single, b As Single, c As Single, d As Single, e As Single, _
f As Single, g As Single, h As Single, i As Single, j As Single
' Fonctione pour des nombres Single et Double

a = 1 / 0 ' + infini
b = -1 / 0 ' - infini
c = 0 / 0 ' indeterminé
d = 1 / a ' 1 / infini = 0
e = a * b ' infini * -infini = - infini
f = a + b ' infini + -infini = normalement indeterminé mais la ca donne vide
g = a / 0 ' infini / 0 = infini
h = 0 / a ' 0 / infini = 0
i = a / b ' infini / infini = normalement indeterminé mais la ca donne vide
j = 0 * a ' 0 * infini = normalement indeterminé mais la ca donne vide

Print a, IsExpression(a)
Print b, IsExpression(b)
Print c, IsExpression(c)
Print d, IsExpression(d)
Print e, IsExpression(e)
Print f, IsExpression(f)
Print g, IsExpression(g)
Print h, IsExpression(h)
Print i, IsExpression(i)
Print j, IsExpression(j)

End Sub

' Description : Renvois 2 si l'expression est reel
'                       1 si l'expression vaut +infini
'                       0 si l'expression est indeterminée
'                       -1 si l'expression vaut -infini
' NB : Une expression vide est considerée comme indeterminée
Public Function IsExpression(Expression) As Long

IsExpression = 2
If Expression = "1,#INF" Then IsExpression = 1
If Expression = "-1,#INF" Then IsExpression = -1
If Expression = "-1,#IND" Or Len(Expression) = 0 Then IsExpression = 0

End Function

Conclusion :


Bien entendus pour faire des calcule avec l'infini il faudra gerer les resultat de la fonction IsExpression au moin qui ne renvois pas une erreur.
Voila ca montre que l'infini existe aussi en vb6 et que les machines pourront bientot remplacer les hommes (lol).

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.