我正在调试 C++ 应用程序,当我在 GDB 中显示 double float 时,我得到的结果如下:.035449094393
如何显示更多的小数位?理想情况下,我将能够指定精度并得到如下结果:.0354490943927692
基本上,我试图找到 2 个变量之间非常小的差异的原因。如果我将 printf 与 %1.20f
之类的格式说明符一起使用,我可以看到变量的差异,但不使用 GDB。
最佳答案
默认情况下,GDB 的 p/f <variable>
精度有限。
您可以使用 printf
显示更多小数位:
(gdb) printf "%1.20f\n", <variable>
但是,此时您很可能会开始遇到数据类型的限制(可能存在舍入误差和其他与您预期值的小偏差)。
关于c++ - 在 GDB 中指定浮点精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52404938/