double类型的字节序问题

来源:3-10 提升补充部分:补码2

zswen

2020-08-19

老师好,
我试着看了一下double类型的存储情况。
我定义了如下double 变量:

double d1 = 2000000000000;

在内存里显示:
0x00EFFD38 00 00 00 a2 94 1a 7d 42
按照little endian重新排列的话应该是:
42 7d 1a 94 a2 00 00 00

计算器里面的显示d1的16进制是:
1D1 A94A 2000
并不是完全倒序。

请问前面的42 7d以及最后面多出来的00 0是做什么的呢?

写回答

1回答

quickzhao

2020-08-19

不是, 你这里是double类型,按照IEEE的标准,在C++中浮点数有一套不同于int型的类似科学计算的表示方法。和你在计算器里面解析整型数的方法根本就不是一套方法。

0
2
quickzhao
回复
zswen
网上应该能搜到很多吧。http://c.biancheng.net/view/1321.html
2020-08-19
共2条回复

重学C++ ,重构你的C++知识体系

一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维

3884 学习 · 1103 问题

查看课程