Devo ammettere che in tutto il mio lavoro con Java, non ho mai incontrato la necessità di un unione Java (come il sindacato C, non quello SQL) e non riesco a trovare una risposta qui su SO. A dire il vero, la maggior parte del mio lavoro in Java è stata a livello di astrazioni più alte di quelle che hanno un po 'di manipolazione.Come posso ottenere/impostare singoli bit in un float?
Ho un numero intero per il quale sto impostando i singoli bit e voglio stampare il float IEEE754 a precisione singola equivalente.
In C, mi piacerebbe fare qualcosa di simile:
union {
int i;
float f;
} x;
x.i = 0x27;
printf ("%f\n", x.f);
Come faccio a fare una cosa simile in Java? È persino possibile trattare la stessa memoria di due diversi tipi di dati in Java?
Ho cercato sia su SO che altrove per "java union", ma mi ha sommerso di cose SQL - non sono riuscito a trovare un modo per farlo.
Bang. Questo è quello che stavo cercando. E vedo il contrario è Float.floatToRawIntBits. Ora ho solo bisogno della variante Double/Long ma presumo, se ce n'è una, sarà nella classe Double. Andrò a trovarlo. Grazie mille. – paxdiablo
Sono ancora confuso ... cosa c'entra questo con i sindacati? – skaffman
E +1. – paxdiablo