Sim*_*eed 5 c++ floating-point gdb
我正在调试一个 C++ 应用程序,当我在 GDB 中显示一个双精度浮点数时,我得到如下结果:.035449094393
如何显示更多小数位?理想情况下,我将能够指定精度并得到如下结果:.0354490943927692
基本上,我试图找出 2 个变量之间存在微小差异的原因。如果我将 printf 与格式说明符一起使用,就像%1.20f我可以看到变量中的差异但不使用 GDB。
默认情况下,GDB 的p/f <variable>精度有限。
您可以使用printf来显示更多小数位:
(gdb) printf "%1.20f\n", <variable>
Run Code Online (Sandbox Code Playgroud)
但是,此时您很可能会开始遇到数据类型的限制(可能存在舍入错误和其他与您期望的值的小偏差)。