本文利用union巧妙获取double类型和float类型数据的各字节内容,见代码: #include<iostream> const int nFloat = sizeof(float); const int nDouble = sizeof(double); union ch_d { unsigned char ch[nDouble]; double dd; }; union ch_f { unsigned char ch[nFloat]; float dd; }; int main() { ch_d abc; abc.dd = 50.663; printf("double型数据 50.663 的各字节内容:/n"); for (int i=0; i<nDouble;i++) { printf("/t%02X" ,abc.ch[i]); } ch_f de; de.dd = 123.0123f; printf("/n/nfloat型数据 123.0123 的各字节内容:/n"); for (i = 0; i<nFloat; i++) { printf("/t%02X" ,de.ch[i]); } printf("/n"); return 0; } 这段代码在VC6.0 Windows XP 下测试通过。