Hirdetés

Keresés

Új hozzászólás Aktív témák

  • Chipi333
    csendes tag

    hát működni működik, csak az eredmény nem jó :D
    én is rájöttem egy másik megoldásra, bytebufferrel, ki is jött az eredmény ami a te kódoddal, de egyik sem jó :D

    pl 000000C0E0B22440 ez 10.3494 kellene hogy legyen, de sehogy sem tudom elérni hogy ez jöjjön ki, bár ebbe a hexába az a legfurább, hogy az elején és a végén is 0 van.

    //4024B2E0C0000000 ez lesz a végére
    String toConvert = "000000C0E0B22440";
    BigInteger temp = new BigInteger(toConvert, 16);

    long raw = temp.longValue();
    long result = 0x0L;

    result = (raw >> 32) | (raw << 32);
    result = ((result << 16) & 0xffff0000ffff0000L) | ((result >> 16) & 0x0000ffff0000ffffL);
    result = ((result << 8) & 0xff00ff00ff00ff00L) | ((result >> 8) & 0x00ff00ff00ff00ffL);

    double converted = Double.longBitsToDouble(result);

    System.out.println(converted);

    No akkor így műxik :)

Új hozzászólás Aktív témák