Visualizzazione dei risultati da 1 a 2 su 2

Discussione: da double a int

  1. #1

    da double a int

    è possibile passare da un double(64 bit) a due int(32 bit ciascuno) senza perdita di informazione??
    ho provato con questa operazione ma il risultato non è stato quello sperato..

    INTERO_high = (int) ((int)a>>32);
    INTERO_low = (int) ((int) a);


  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: da double a int

    Originariamente inviato da Leon@@rdo
    ho provato con questa operazione ma il risultato non è stato quello sperato..

    INTERO_high = (int) ((int)a>>32);
    INTERO_low = (int) ((int) a);
    No, perché il cast a int tronca i decimali (nonché può far perdere la magnitudo del numero).

    Innanzitutto usa doubleToRawLongBits() di Double per ottenere un long che contiene i bits del double (senza perdita), quindi spezza il long.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.