- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 7 von 7

Thema: Integer oder Floats in Bytes auftrennen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    29.08.2008
    Beiträge
    73

    Integer oder Floats in Bytes auftrennen

    Hallo Freunde,

    ich zerbreche mir jetzt schon die ganze Woche den Kopf wie ich eine Integervariable in Bytes(char) zerlegen kann und später wieder zusammenbauen das Ganze sollte wenn möglich auch für floats gehen.

    Ich hab schon gegooglt und auch hier gesucht, aber entweder stelle ich mich zu doof an oder finde nix das passt.
    Ich hätte auch ein paar Ideeen, aber ich möchte euch nicht auf einen festen Weg bringen.

    Also habt ihr Ideen ?

    Gruß Elchi

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    36
    Beiträge
    1.225
    Du holst dir einen Pointer auf den Integer/Float, castest den Pointer um auf einen Byte-Pointer und inkrementierst den Pointer schrittweise, insgesamt sizeof(Datentyp) - 1 Mal. Bei jedem Schritt kannst du den Pointer dereferenzieren und erhältst damit das entsprechende Byte.

    mfG
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.06.2011
    Ort
    Dresden
    Beiträge
    219
    hi,
    in C vermute ich.
    Welches int-format (16bit/32bit in PC-C# gibts auch 64bit integer) ?
    16bit: union aus byte und int, byte ist dann direkt msb, lsb ist union.int >> 8;
    32bit (in meinem C unsigned long): union aus 3byte und u_long, bytes w.o.
    Was soll bei der Zerlegung eines float in bytes rauskommen - die einzelne digits oder was ?
    mfg
    Achim

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.02.2013
    Ort
    Graz
    Beiträge
    211
    Üblicherweise meinen die Leute hier bei "zerlegen in bytes", das aufspalten in Ziffern. Bei Integern gibts die Möglichkeit /10 und %10 zu benutzen, aber das geht bei Gleitkommazahlen nicht, deswegen könnt man gleich in Strings umwandeln und die Ziffern byteweise als chars rausholen.

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    29.08.2008
    Beiträge
    73
    Hallo,

    Ziel ist es Daten die als einzelne Bytes über RS232 oder einen soket an kommen zusammen zu setzten oder die Antwort wieder in einzelne Bytes aufzutrennen. Die Bytes einzeln haben natürlich keinen nutzen ohne das sie wieder verbunden werden. Die pointer Idee werde ich mal testen und zur Diskussion stellen.

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von ElchiMtr Beitrag anzeigen
    Hallo,

    Ziel ist es Daten die als einzelne Bytes über RS232 oder einen soket an kommen zusammen zu setzten oder die Antwort wieder in einzelne Bytes aufzutrennen. Die Bytes einzeln haben natürlich keinen nutzen ohne das sie wieder verbunden werden. Die pointer Idee werde ich mal testen und zur Diskussion stellen.
    Da muß man aber berücksichtigen, daß nicht alle Prozessoren die Daten auf die gleiche Weise abspeichern. Stichworte sind da Big/Little Endian, verschiedene Floating Point Formate sowie Network Byte Order. Außerdem sind ints nicht auf allen Archtekturen gleich groß, so von 16 bis 64 Bit.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    29.08.2008
    Beiträge
    73
    Das mit den Piontern hat als ichs richtig gemacht hatte prima. Die Sache mir den Endians weiß ich und habe ich berücksichtigt.
    Danke für die Hilfe

Ähnliche Themen

  1. Word in Integer?...
    Von Karlja im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 10.08.2010, 19:23
  2. 16Bit Integer in 2 8Bit integer
    Von PcVirus im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 29.02.2008, 17:57
  3. integer abschneiden???
    Von MarkusH im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 13.03.2007, 19:17
  4. double to integer oder exp(x) mit integer
    Von fambi_mail im Forum C - Programmierung (GCC u.a.)
    Antworten: 21
    Letzter Beitrag: 02.03.2006, 12:14
  5. Integer in Byte
    Von _Alex im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 03.02.2006, 07:46

Berechtigungen

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

Labornetzteil AliExpress