Bonjour,

Voici mon problème : je reçois des valeurs "Float" sous forme de tableau en "octet" (4 octets pour 1 float).

Je voudrais savoir s'il existe un moyen de convertir un Float en 4 Octets ?

J'ai trouvé le moyen pour convertir les 4 octets en 1 float, s'il existe un moyen plus simple, je suis preneur

Mais je sèche pour faire l'inverse...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
//Conversion 4 octets en 1 float
 
//Déclaration
Float fResult;
TableauOctet[4];
unsigned exp;
 
fResult = TableauOctet[3];
fResult = fResult/256 + TableauOctet[2];
fResult = fResult/256 + (TableauOctet[1] | 0x80);
exp = (unsigned)(TableauOctet[0] & 0x7F) * 2 + ((TableauOctet[2] & 0x80) != 0 ? 1 : 0) - 134;
 
fResult = (TableauOctet[3] & 0x80) != 0? -ldexp(fResult, exp) : ldexp(fResult, exp);
Merci d'avance.

EDIT : correction des fautes