Signe exposant mantisse

Sojojo Messages postés 41 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 7 septembre 2005 - 30 mai 2005 à 15:34
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 31 mai 2005 à 10:31
je connais le moyen pour les calculer (signe exposant mantisse) et trouver un nomre avec des virgules flottantes mon problème c qu'il est bcp moi aisé de faire la demarche inverse (càd kon a la valeur flottante et kon veut connaitre les valeur deu signe de l'exposant et de la mantisse).
si quelqu'un vois de quoi je parle
merci

3 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
30 mai 2005 à 17:16
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)



Private Sub Command1_Click()

Dim x As Double

Dim s As String

Dim i As Integer

Dim b() As Byte

Dim c As Byte



x = 123456

ReDim b(7)

CopyMemory b(0), x, 8

For i = 7 To 0 Step -1

c = b(i)

If c > 15 Then s s & Hex$(c) Else s s & "0" & Hex$(c)

Next

MsgBox s



End Sub


avec l'Hexa tu peux avoir facilement le binaire.

et en découpant les bits, le signe et la mantisse...

ici le Double fait 32 bits (VB6)

ne serait pas en 64 bits par hasard ?


Daniel
0
Sojojo Messages postés 41 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 7 septembre 2005
31 mai 2005 à 08:42
le private declare sub il doit etre mis ou??? et a quoi il sert ...?
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
31 mai 2005 à 10:31
il doit être mis au début de la feuille, un peu après l'Option Explicit.

c'est une déclaration, elle signifie qu'on va faire appel à une dll externe,

ici c'est Kernell32.dll

elle permet d'utiliser l' API "RtlMoveMemory"
qui sert à copier des zones mémoires, par exemple copier des variables
numériques dans une chaîne ou dans un tableau de Bytes, ce que Vb ne
permet pas.

grâce a cette copie on a directement accès à la valeur binaire du
nombre, ce qui évite de faire des algorithmes de conversion plus ou
moins compliqués, et le résultat obtenu est le résultat réél, c'est à
dire aucune erreur possible.


Daniel
0
Rejoignez-nous