- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 5 von 5

Thema: C++ + Kommazahlen

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Magge2k
    Registriert seit
    27.10.2004
    Beiträge
    163

    C++ + Kommazahlen

    Anzeige

    Praxistest und DIY Projekte
    Hi Leute,

    ist mir jetzt fast schon n bissle peinlich aber wie kann ich in C++ eine komma Zahl ausrechnen?

    anpassX = 209 / 10000;


    wobei die 209 und 10000 später einmal variable "warscheinlich" integer Zahlen sind...kommen von der Breite eines Images -> 209 und dem Maximal wert eines schiebe reglers...

    nur wenn ich mir den Wert anpassX anzeigenlassen will kommt immer 0 heraus...ich weiß auch daß das ergebniss 0.0209 sein müsste...aber er zeigts mir nicht an....

    vielen danke für eure Hilfe!

    greez!

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    02.06.2005
    Beiträge
    44
    von welchem Typ ist denn anpassX? Wenns int ist kanns nichts werden, da 0,0209 ja keine Ganzzahl ist. Mit float anpassX sollte es klappen!

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Magge2k
    Registriert seit
    27.10.2004
    Beiträge
    163
    Hmm....genau das macht es ja nicht....

    also hier einmal ein paar Quelltext schnipsel:


    Code:
     float anpassX;
    
    ... 
    
     anpassX = 209 / 10000; //Image1->Width / tbX->Max
    
    ...
    Außerdem habe ich gerade festgestellt daß ich noch ein Problem habe....
    und zwar möchte ich einen 16Bit Hex-Wert in 2x 8Bit Packeten versenden...

    ich dachte die Umwandlung müsste so funktionieren.....

    Code:
    unsigned short int x, y;
    unsigned char ux, uy, lx, ly;
    
    ...
    
     uy = y / 0xFF;
     ly = y;
    
    ...
    
     ux = x /0xFF;
     lx = x;
    
    ...

    wobei ux für Upper X-Wert steht.

    z.B. bei der zahl 45678(dec) also B26E(Hex)

    das B2 sein soll

    und lx für Lower X-Wert.

    also für 6E steht.....

    wenn ich mir den wert 65535 anzeigen lasse und einmal mit der mit angezeigten Zahl im Programm vergleiche fehlen mit 256 um bei FFFF auf 65535 zu kommen.... was mache ich falsch?

    greez!

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991
    Probiers mal folgendermaßen
    Code:
     float anpassX;
     anpassX = 209.0 / 10000.0; //Image1->Width / tbX->Max
    oder auch
    Code:
     float anpassX;
     anpassX = (float) 209 / (float) 10000; //Image1->Width / tbX->Max
    zum zweiten Problem:
    Code:
    unsigned short int x, y;
    unsigned char ux, uy, lx, ly;
    
     uy = (unsigned char) (y>>8);
     ly = (unsigned char)  (y & 0x00ff);
    MfG Kjion

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Magge2k
    Registriert seit
    27.10.2004
    Beiträge
    163
    HEY, cool!!!

    DANKE für die schnelle Hilfe, hat geklappt!!!


    greez

Berechtigungen

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

12V Akku bauen