Forum: Mikrocontroller und Digitale Elektronik Wie rechnet mat von Dezimal nach float


von Markus T. (Gast)


Lesenswert?

hallo leute,

wikipedia hat irgendiwe nicht geholfen, warum die umrechnung dort so 
eigenartig ist kann ich nachvollziehen. von float nach dezimal ist 
einfach, aber von dezimal nach float .... irgendwie stehe ich auf dem 
schlauch.

kann mir einer von euch dazu einen tipp geben, wäre mega nett, wenn 
sogar ein beispiel dran hängt oder der algorithmus an sich.

vielen dank

von Philipp (Gast)


Lesenswert?

Es wäre »mega hilfreich«, wenn Du schreiben würdest, was Du überhaupt 
willst. Jede Dezimalzahl ist auch eine Float-Zahl. Was willst Du da 
rechnen?

Willst Du den String "42" umwandeln in "4.2E1"?

Hast Du eine bestimmte Programmiersprache, für die Du ein typecast 
brauchst?

Hast Du in Assembler eine Intergerzahl (warum dann »Dezimal«?), die Du 
in ein bestimmtes float-Format konvertieren mußt?

von Markus T. (Gast)


Lesenswert?

die programmiersprache ist beliebig, es geht um den algorithmus.

folgendens
float hat 32 Bit , 1 Bit Vorzeichen, 8 Bit Exponent, 23 Bit Mantisse.

nehme ich nun die zahl 1,23456 ergibt dies ein bitmuster. meine frage, 
wie berechne ich dieses. Ich möchte eine befehke der stdlib benutzen, 
wie mach die fpu das?

von Karl heinz B. (kbucheg)


Lesenswert?

> float hat 32 Bit , 1 Bit Vorzeichen, 8 Bit Exponent, 23 Bit Mantisse

Das ist nur die Repreäsentierung in Hardware.
Es gibt aber viele Systematiken wie man damit
eine Floating Point Zahl aufbauen kann.

von erik s (Gast)


Lesenswert?

wow, hier wird einem geholfen! na dafuer bleibt man unter sich...

von Klaus W. (mfgkw)


Lesenswert?

Wie soll man denn helfen, wenn der OP in drei Jahren nicht
antwortet auf die Frage, ob er von einem String ausgeht?

Lesbarer und verständlicher Text beim Fragen wäre auch
zielführend.

Ok, die drei Jahre sind noch nicht ganz um.
Vielleicht kommt ja noch was...

von Temas M. (Gast)


Lesenswert?

>Wie soll man denn helfen, wenn der OP in drei Jahren nicht
>antwortet auf die Frage, ob er von einem String ausgeht?

Wo hast du die Frage gelesen? Ich finde nach dem zweiten Post von Markus 
T. war klar dass er sich mit der Thematik beschäftigt, wie man auf 
Bitebene einen Int zu einem Float umwandelt. Natürlich ist da die 
Repräsentation in Hardware relevant. Hätte an seiner Stelle hier auch 
aufgegeben.

von Klaus W. (mfgkw)


Lesenswert?

Philipp schrieb:
> Es wäre »mega hilfreich«, wenn Du schreiben würdest, was Du überhaupt
> willst. Jede Dezimalzahl ist auch eine Float-Zahl. Was willst Du da
> rechnen?
>
> Willst Du den String "42" umwandeln in "4.2E1"?

Da sehe ich die Frage, ob es darum geht, einen String umzuwandeln.


> ...
> Hast Du in Assembler eine Intergerzahl (warum dann »Dezimal«?), die Du
> in ein bestimmtes float-Format konvertieren mußt?

Da ist die Frage, ob es darum geht, eine int zu wandeln.

Die einzige Antwort dazu von Markus T. war:
> ... 1,23456 ...

Damit kann es nicht darum gehen, eine ganze Zahl zu wandeln.
Was aber noch nicht die Frage beantwortet, was der denn nun
hat und wandeln will.

Also ich wüsste immer noch nicht, was er will.
Vermuten würde ich, daß es darum geht einen String zu wandeln.

von Klaus W. (mfgkw)


Lesenswert?

Markus T. schrieb:
> ...
> nehme ich nun die zahl 1,23456 ergibt dies ein bitmuster. meine frage,
> wie berechne ich dieses. Ich möchte eine befehke der stdlib benutzen,
> wie mach die fpu das?

Für solche Fragen bin ich wahrscheinlich zu doof.

von Temas M. (Gast)


Lesenswert?

>Für solche Fragen bin ich wahrscheinlich zu doof.

ok, das sollte ich eigentlich von mir sagen. Ich habe die String-Frage 
einfach nicht gesehen. Was du oben zitiert hast ist schon reichlich 
schräg,
keine Ahnunh warum mir das heute vormittag plausibel vorkam?!

>Vermuten würde ich, daß es darum geht einen String zu wandeln.

Ich habe das so verstanden, dass er verstehen will wie die Zusammenhänge 
sind zwischen einer Ganzzahl als int und als float, also wie die Bits in 
der jeweiligen Darstellung an ihre Position wandern (verständlich?).
Zumindest würde mich das interessieren, allerdings nicht so sehr dass 
ich schon mal danach gego*led hätte.

Ziemlich viele Gedanken für einen jahrealten Mini-Thread ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.