Autor Beitrag
physicaal
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 18.03.09 12:19 
HI @alle

Also ich bin neu Hier!! bin aus baden-württemberg und studiere informatik...

So ich habe paar fragen die ich gern stellen würde :

- Wie kann man ein double zu binär umwandle ohne verlust sprich ohne die zu runden...
beispiel : (babbage.cs.qc.edu/IEEE-754/Decimal.html)

- 3.14159265 ergibt mit rundung : 0100 0000 0100 1001 0000 1111 1101 1011
ohne rundung : 0100 0000 0100 1001 0000 1111 1101 1010
Ihr habt bemerkt die MSB variieren....

Was muss ich den beachten wenn ich die umwandlung duchführen will...ich kann ohne problem in Csharp (mit rundung ) des ganze nachvollziehen aba ohne rundung bleib n geheimnis!!

Danke!!!
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 18.03.09 14:28 
:welcome:

Sicher, dass du nicht "Single" und "LSB" meinst :zwinker: ?
Da das Runden schon der C#-Compiler beim Übersetzen übernimmt, hast du darauf keinen Einfluss. Du müsstest den String also selbst von Hand übersetzen. Den JavaScript-Code der verlinkten Seite kannst du ja als Vorlage benutzen.

_________________
>λ=
physicaal Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 18.03.09 14:59 
:lol: :D

"LSB" :oops: ah jo vielleicht :lol: aba net "Single" sondern Double !!!

Joa genau ich habe mir den code angeguckt und irgendwie blicke ich net durch k.a warum...na ja ich schaue mir des nochmal an!!!
....also so habe ich gemacht :
erst mal das double value ins float gecastet
dann mit bitconverter ins byte[] convertiert
ins interger _value gecastet
und des dann als string .ToString(_value,2) ausgegeben....

im welcher schritt soll ich des händig übernehmen?
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 18.03.09 17:06 
user profile iconphysicaal hat folgendes geschrieben Zum zitierten Posting springen:
aba net "Single" sondern Double !!!
Ich zähle in deinem Post trotzdem nur 32 Bits... und du schreibst ja selbst:
user profile iconphysicaal hat folgendes geschrieben Zum zitierten Posting springen:
erst mal das double value ins float gecastet
Also bekommst du die Binär-Repräsentation des Single-Wertes. Dann könntest du den Double auch gleich ganz weglassen und BitConverter.GetBytes(3.14159265f) benutzen.
Zitat:
im welcher schritt soll ich des händig übernehmen?
Csc muss das Literal "3.14159265f" in einen Single-Wert übersetzen. Du musst dir also ein eigenes Single.Parse schreiben, das eben nicht rundet. Trivial ist was anderes ;) .

_________________
>λ=
physicaal Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 18.03.09 21:23 
Ouch!!! :shock: Hmmm Haste n anleitung wie ich des anstellen kann? oder paar Hinweise!!