Just nu i M3-nätverket
Jump to content

Från bytes till flyttal


zoltan hemlock

Recommended Posts

Oj, det var många år sedan man gjorde det manuellt.

 

Flyttal beskrivs på formen M*R^E, där jag har för mig att det är M (mantissan) och E (exponenten) som lagras. R är basen man utgår ifrån (typ 2 eller 10)

 

Noggrannheten får man när man bestämmer hur många bytes man tilldelar mantissan, och hur stora tal du kan ha bestäms av dito för exponenten.

 

Tillägg: Vad menar du med att du vill konvertera "4 bytes" till ett flyttal? Du nämner inte datatypen som dessa bytes representererar, men jag gissar att du menar ett heltal?

[inlägget ändrat 2004-12-04 11:38:21 av Anjuna Moon]

Link to comment
Share on other sites

Om jag har förstått frågan korrekt vill du omvandla ett antal bitar till ett flyttal och du vill göra detta bitvis. Hur man gör detta är klart språkberoende men i t.ex. C++ kan du använda reinterpret_cast som finns i std.

 

 

Link to comment
Share on other sites

zoltan hemlock

Jag vill ha det gjort i Basic, så funktionen måste jag skriva själv. Det jag behöver är algoritmen på ren svenska. =)

 

Link to comment
Share on other sites

jag behöver räkna om 4 bytes till ett heltal, och vice versa

 

Men du säger fortfarande inte vilket format du har de 4 bytes:en i (samt att de nu ska konverteras till heltal och inte flyttal som du sa först)

 

Vad representerar dina 4 bytes?

 

Eller är du kanske bara ute efter hur du ändrar representationen av ett heltal? Ex.:

 

0 0 255 255 <->65535

 

Isåfall har du exempel här som visar algoritmen:

[log]

dim a(4)

' a(1)=LSB, a(4)=MSB, visa heltalsrepresentationen
a(1)=255:a(2)=255:a(3)=0:a(4)=0
sum=0
For i=1 To 4
sum=sum OR a(i)*256^(i-1)
Next

' Tillbaka till internrepresentation
sum=45345
For i=1 To 8
a(i)=sum AND 255
sum=int(sum/256)
Next

[/log]

 

 

EDIT: Hursomhelst måste jag iväg nu tyvärr ...

 

[inlägget ändrat 2004-12-04 14:04:05 av Anjuna Moon]

[inlägget ändrat 2004-12-04 14:04:49 av Anjuna Moon]

Link to comment
Share on other sites

zoltan hemlock

Sorry, glöm det där med heltal...

 

Jag behöver exempelvis lagra talet -3.14159 i 4 bytes. Det finns ju en standard som säger HUR man ska lagra det. Vilka bitar som representerar vad etc.

 

Detsamma gäller när det är 8 bytes. Vad jag förstår så finns det 2 varianter av algoritmen beroende på storlek eller precision.

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...