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!
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!
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!
Hmm....genau das macht es ja nicht....
also hier einmal ein paar Quelltext schnipsel:
Außerdem habe ich gerade festgestellt daß ich noch ein Problem habe....Code:float anpassX; ... anpassX = 209 / 10000; //Image1->Width / tbX->Max ...
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!
Probiers mal folgendermaßen
oder auchCode:float anpassX; anpassX = 209.0 / 10000.0; //Image1->Width / tbX->Max
zum zweiten Problem:Code:float anpassX; anpassX = (float) 209 / (float) 10000; //Image1->Width / tbX->Max
MfG KjionCode:unsigned short int x, y; unsigned char ux, uy, lx, ly; uy = (unsigned char) (y>>8); ly = (unsigned char) (y & 0x00ff);
HEY, cool!!!
DANKE für die schnelle Hilfe, hat geklappt!!!
greez
Lesezeichen