float mit unsigned short multiplizieren?
-
Hallo,
ich habe ein Verständnisproblem in C und hoffe mir kann jemand weiterhelfen.
Und zwar hab ich eine Variable X, welche als unsigned short definiert ist, also einen Wertebereich von 0...65535 hat oder?
Eine weitere Variable Y ist ebenfalls als unsigned short definiert und hat einen "unbekannten" Kreisumfangs-Wert.
Ich möchte nun folgende Rechnung aufstellen (Radius berechnen):X = Y / (2 * 3.141593)
Mein Compiler spuckt aber irgend eine komische Fehlermeldung aus die ich in irgendeiner txt Datei finden sollte, hab ich bisher aber nicht gefunden
Kann mir jemand erklären, was daran falsch ist, bzw. wie man das richtig macht?
Ich versteh eh noch nicht so ganz, wie/ob man einen Integer (oder short) Wert mit einer Kommazahl verrechnen kann!? Wenn ja, wie geht das?Gruß
-
hast das semikolon vergessen?
du kannts natürlich verscheiden zahlentpen verrechnen, allerding wird das ergebniss wenn das ergebniss eine ganzahl ist abgerundet
short Y=...; short X = Y / (2 * 3.141593);
-
Das wäre wohl besser
X = (unsigned short)((float)Y / (2.0f * 3.141593f));