Tôi phải thừa nhận trong tất cả công việc của mình với Java, tôi chưa bao giờ gặp sự cần thiết của một liên minh Java (như công đoàn C, chứ không phải câu lệnh SQL) và tôi không thể tìm thấy câu trả lời ở đây trên SO. Phải thừa nhận rằng, hầu hết công việc của tôi trong Java đã được trừu tượng hóa cao hơn bit-fiddling.Làm thế nào tôi có thể nhận/thiết lập các bit riêng lẻ trong một phao?
Tôi có số nguyên mà tôi đang thiết lập các bit riêng lẻ và tôi muốn in ra phao chính xác đơn IEEE754 tương đương.
Trong C, tôi muốn làm một cái gì đó như:
union {
int i;
float f;
} x;
x.i = 0x27;
printf ("%f\n", x.f);
Làm thế nào để làm một điều tương tự trong Java? Thậm chí có thể xử lý cùng một bộ nhớ như hai loại dữ liệu khác nhau trong Java không?
Tôi đã tìm kiếm trên cả SO và các nơi khác cho "java union" nhưng nó đã làm tôi thất vọng với công cụ SQL - tôi không thể tìm ra cách để làm điều này.
Bang. Đó là những gì tôi đã sau. Và tôi thấy ngược lại là Float.floatToRawIntBits. Bây giờ tôi chỉ cần các biến thể Double/Long nhưng tôi giả định, nếu có một, nó sẽ ở trong lớp Double. Tôi sẽ đi tìm điều đó. Cảm ơn đống. – paxdiablo
Tôi vẫn còn bối rối ... điều này có liên quan gì đến công đoàn? – skaffman
Và +1. – paxdiablo