www.mikrocontroller.net

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


Autor: Markus T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Markus T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: erik s (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wow, hier wird einem geholfen! na dafuer bleibt man unter sich...

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Temas M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Temas M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.