double in BINAIRE



  • Hi leute!!
    ich versuche gerade eine double Zahl in binaire zu schreiben, hab das programm schon geschrieben und hab dabei ein kleines problem,
    wenn ich z.B 2.5 eingebe dann mach ich die umwandlung in integer mit "(int)2.5" ich bekomme 2, dann betrachte ich zuletzt 0.5,
    ich schreibe dann 2 in binaire also 1 0 und 0.5 ---> 0.10, daß ergibt sich dann 10.10 für 2.5!! was richtig ist.

    wenn ich ein anderes beispiel eingebe Z.b 112233445566778567756734564364545,3424 dann blockiert sich die ausgabekonsole, weil 112233445566778567756734564364545,3424 lässt sich nicht im integer umwandeln, 112233445566778567756734564364545 überschreit Integerwertbereich.

    kann jemand mir helfen? oder sagen Sie mir wie ich eine double zahl anders in binaire umwandeln kann!!

    ich bedanke mich im voraus.



  • du meinst "binär"

    der höchste wert, den int haben kann ist 233-1,wenn du einen größeren Wert angeben willst, musst du dich nach einem typ anschauen, der mehr bits hat, such mal hier im forum nach Int64 oder Int128



  • Ja ich denk ich muß mit "Int128" arbeiten !! wie soll ich dann der Typ definieren?? mit int64 (long) reicht das auch nicht aus, ich habe gedacht long der größte ist!!!



  • long ist häufig auf 32Bit-Plattformen gar nicht größer als int.



  • wie wandel ich dann die double Zahl 112233445566778567756734564364545,3424 im binär um?

    Danke schön??



  • du weist noch nicht mal, wie du das überhaupt machen kannst?



  • Doch aber 112233445566778567756734564364545,3434 kann nicht in int64 umgewandelt werden, mit int128 welche typ soll ich benutzen? für int64 habe long benutzt, was soll ich für int128 benutzen?



  • int128 gibts bei manchen compilern als typ. und long bzw long long ist auf den meisten compilern nur 32bit groß(ja, verwirrend, ich weis)


Anmelden zum Antworten