Avatar billede thomaxz Nybegynder
13. marts 2007 - 09:07 Der er 3 kommentarer og
1 løsning

konvertere kommatal til hex

hvordan konventer man kommatal til hex.

kommatallene er gemt i en float variable.
Avatar billede arne_v Ekspert
13. marts 2007 - 10:44 #1
du vil have en streng med hex af en float ?

lidt usædvaneligt men prøv:

float x = 123.456;
char buf[9];
sprintf(buf,"%08X",x);

evt.

float x = 123.456;
char buf[9];
sprintf(buf,"%08X",*((long *)&x));

hvis compileren checker printf formater (og long int tilfældigvis har samme størrelse
som float)
Avatar billede faerch Nybegynder
13. marts 2007 - 11:23 #2
En alternativ mulighed kunne være at benytte en union?
Følgende eksempel er forudsat at float er 32bit....

typedef union{
  float FloatVar;
  unsigned long ULongVar;
}Test_u;

Test_u test;

test.FloatVar = 1234.5678;
printf("\n FLOAT: %f, HEX: %x", test.FloatVar, test.ULongVar);
Avatar billede thomaxz Nybegynder
24. marts 2007 - 19:24 #3
tak.
Avatar billede faerch Nybegynder
02. april 2007 - 07:37 #4
Det kunne være meget sjovt at vide hvad det var du havde brug for...
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