Come XOR due doppi in JAVA?XORing due doppi in Java
semplice '^' non funziona per i doppi ... Dovrei convertire un doppio in forma binaria e farlo a bit? o c'è qualche altro modo?
Come XOR due doppi in JAVA?XORing due doppi in Java
semplice '^' non funziona per i doppi ... Dovrei convertire un doppio in forma binaria e farlo a bit? o c'è qualche altro modo?
Se hai intenzione di fare questo bit è necessario utilizzare le funzioni di utilità Double
per ottenere long
rappresentazioni e poi convertire di nuovo ad un doppio alla fine:
double c = Double.longBitsToDouble(
Double.doubleToRawLongBits(a)^Double.doubleToRawLongBits(b));
Funziona ... Grazie. –
Non posso pensare a un bel modo di fare questo, ma sono curioso di sapere perché vorresti farlo prima ... puoi illuminarmi? – user507787
Poiché XOR è un operatore bit per bit, di solito viene applicato solo ai numeri interi. Vuoi veramente provare a raddoppiare i bit XOR bit a bit (cosa che potrebbe portare a _really_ risultati strani) o vuoi semplicemente lavorare con gli ints? –
Sto implementando un algoritmo di compressione per un flusso di doppi e quell'algoritmo richiede XORing di due numeri consecutivi. –