最近遇到个问题需要将C语言中以double类型存储的数字在python中进行转换,如何实现呢?本文就和大家一起来扒一扒,希望对大家学习python有所帮助。
先看看C语言中double类型数据是如何存储的:
使用程序
int main(){
int i = 21;
double d = (double)i;
printf("%x\\n",&d);
return 0;
}
获取到21转换成double后在内存中存储的值, 具体为
0x00 0x00 0x00 0x00 0x00 0x00 0x35 0x40
由于是小端序, 所以需要看成
0x40 0x35 0x00 0x00 0x00 0x00 0x00 0x00
二进制为
0100000000110101000000000000000000000000000000000000000000000000
共64位.
Google 后得知C语言中double型使用的是 IEEE 754 标准.