Avatar billede narrr Nybegynder
06. august 2003 - 17:55 Der er 4 kommentarer og
1 løsning

char til float

Nogen der har et forslag til, hvordan jeg kan sætte fire chars sammen til 1 float? Grunden til at jeg har fire chars er, at jeg modtager noget data fra en server, og der er en float32 representeret som fire chars. Jeg har prøvet med ting som :
unsigned short w1 = MAKEWORD(1, -2);
unsigned short w2 = MAKEWORD(11, 69);
cout << MAKELONG(w1, w2)<<endl;
..men jeg tror ikke rigtig det passer.
Jeg modtager forresten de fire chars som 1, -2, -11, 69.
Avatar billede arne_v Ekspert
06. august 2003 - 17:56 #1
char c[4];
c[0] = 1;
c[1] = -2;
c[2] = -11;
c[3] = 69;
float f = *((float *)c);
Avatar billede arne_v Ekspert
06. august 2003 - 17:57 #2
Muligvis skal du have ændret rækkefølgen af char'ene.

det forudsætter at der bruges sammen floating point format i begge ender, men
næsten alle bruger IEEE floating point idag (undtagen VAX og IBM mainframe).
Avatar billede narrr Nybegynder
06. august 2003 - 17:59 #3
Mange tak, Arne, det virker jo helt perfekt:)
Avatar billede narrr Nybegynder
06. august 2003 - 18:00 #4
Hvordan kan du forresten være så hurtig? Sidder du og refresher hele tiden eller hvad?
Avatar billede arne_v Ekspert
06. august 2003 - 18:01 #5
Jeg abonnerer på C/C++ så jeg får en email når der komemr et nyt spørgsmål.

Men i dette tilfælde refreshede jeg bare tilfældigt og så spørgsmålet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester