-         

Ergebnis 1 bis 2 von 2

Thema: Raspi Linux C11: double umwandeln zu 48-bit float ?

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.621

    Raspi Linux C11: double umwandeln zu 48-bit float ?

    Anzeige

    hallo,
    gibt es für den Raspi mit Linux und gcc/gpp C(++)11 eine Art standardisiertes oder bewährtes Verfahren, zum double-umwandeln in ein 48bit-float-Format - und dann auch wieder zurück ? (48bit float gabs ja sogar früher mal als sog. "long float").
    32bit float ist leider etwas zu ungenau, und für 64bit double reicht der Speicherplatz nicht in einem data transfer array.
    Ich will daher die ursprünglichen 64bit double in 48bit umkonvertieren, die dann seriell in 6 bytes übertragen, dann wieder in 64bit double zurück umwandeln und dann damit weiter rechnen.
    Bevor ich nun selber anfange mit Basen, Mantissen und Exponenten herumzujonglieren meine Frage nach schnellen, genauen und bewährten Verfahren.

    ps,
    eine Alternative wäre auch ein 48bit fixed point Format.

    - - - Aktualisiert - - -

    habs mit überlegt - bevor ich anfange, 3 bits im expo einzusparen (8 bit wie bei float), verschenke ich die und schneide einfach die letzen 16 bits der Mantisse per memcpy ab. Dann ist zwar mehr verschenkt als unbedingt nötig, ich muss aber nicht mittendrin mit den bits 52-54 rumwurschteln.


    Es sei denn, jemand findet doch noch eine flinke fertige Lib zum Einbinden...
    Geändert von HaWe (22.05.2017 um 17:50 Uhr)
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.621
    update:

    jawohl, funktioniert:
    48 bit float ergibt wie erwartet 10 Dezimalstellen Genauigkeit.
    man muss allerdings bei Raspi Linux die 2 MSB abschneiden, nicht die 2 LSB
    ·±≠≡≈³αγελΔΣΩ∞ Schachroboter:www.youtube.com/watch?v=Cv-yzuebC7E Rasenmäher-Robot:www.youtube.com/watch?v=z7mqnaU_9A8

Ähnliche Themen

  1. float in String umwandeln
    Von fredyxx im Forum Arduino -Plattform
    Antworten: 12
    Letzter Beitrag: 12.03.2017, 10:35
  2. Antworten: 63
    Letzter Beitrag: 18.02.2016, 08:43
  3. Arduino Duo (u.a.): programmierbar in C mit 64 bit float ("double") ?
    Von Ford Prefect im Forum Arduino -Plattform
    Antworten: 2
    Letzter Beitrag: 18.06.2014, 10:05
  4. Float, Double to String, Display ATMega16 Belichtungstimer
    Von Timo_P im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 01.04.2007, 19:36
  5. double to string -> quasi itoa für double/float
    Von Jericho_one im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 22.02.2007, 12:42

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •