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));


Anmelden zum Antworten