Avatar billede Slettet bruger
23. august 2011 - 22:53 Der er 6 kommentarer og
1 løsning

Tal konverteret til hexadecimalkode

Hej.

I et program kan en værdi sættes til hele tal mellem -270 grader og 270 grader. Når filen gemmes bruges 4 bytes på at huske tallet.

Et ekstra-program, der er lavet, kan dog omdanne et tal med op til 6 decimaler til hexadecimalkoden.

Jeg ville spørge, om man ud fra tilstrækkelig mange sammenhørende værdier kan finde frem til måden at konventere et tal til hexakoden uden brug af ekstraprogrammet?
Avatar billede Slettet bruger
23. august 2011 - 23:14 #1
Jeg glemte lige at sige, at det er i radianer, at ekstraprogrammet har de 6 decimalers precision.

Det er sådan her begyndelsen ser ud:

0.000000 = 00 00 00 00

0.000001 = 35 86 37 bd
0.000002 = 36 06 37 bd
0.000003 = 36 49 53 bd
0.000004 = 36 86 37 bd
0.000005 = 36 a7 c5 ac
0.000006 = 36 c9 53 9c
0.000007 = 36 ea e1 8b
0.000008 = 37 06 37 bd
0.000009 = 37 16 fe b5

0.00001 = 37 27 c5 ac
0.00002 = 37 a7 c5 ac
0.00003 = 37 fb a8 82
0.00004 = 38 27 c5 ac
0.00005 = 38 51 b7 17
0.00006 = 38 7b a8 82
0.00007 = 38 92 cc f7
0.00008 = 38 a7 c5 ac
0.00009 = 38 bc be 62
Avatar billede Slettet bruger
23. august 2011 - 23:28 #2
At de to sidste bytes er ens på 1, 2, 4, og 8 vil vel sige at tæller er de to første bytes og nævner de to sidste? (Kan godt se det ikke gælder helt i 3-6-9 :S)
Avatar billede Slettet bruger
24. august 2011 - 01:27 #3
Ligner floating point (32-bit). Eksempel med Java kode:

System.out.println(Integer.toHexString(Float.floatToIntBits(0.00009f)));
// output: 38bcbe62

System.out.println(Float.intBitsToFloat(0x38bcbe62));
// output: 9.0E-5 (samme som 0.00009)
Avatar billede Slettet bruger
24. august 2011 - 01:39 #4
Prøv også at google på IEEE 754
Avatar billede Slettet bruger
24. august 2011 - 12:43 #5
Det var da godt nok simpelt :o.

Hvis du svare så kan lukke spørgsmålet :)
Avatar billede Slettet bruger
24. august 2011 - 17:39 #6
Pointene må du godt beholde.
Avatar billede Slettet bruger
24. august 2011 - 20:04 #7
Tak :)
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