C++ 禁用MS VS中的#DEN后缀
我正在处理代码中的一些小(双)数字,在调试期间需要查看GUI中的所有有效数字。使用以下工具手动打印时,我可以在终端窗口中看到它们:C++ 禁用MS VS中的#DEN后缀,c++,visual-studio-2008,C++,Visual Studio 2008,我正在处理代码中的一些小(双)数字,在调试期间需要查看GUI中的所有有效数字。使用以下工具手动打印时,我可以在终端窗口中看到它们: printf("%*.16e ",value); 产出: 1.1743571567901844e-309 但是,在使用MS Visual Studio 2008进行调试期间,使用GUI将鼠标移到变量名上(或在监视列表中查看),添加的#DEN后缀会妨碍查看最低有效位: 1.174357156790e-309#DEN 是否有办法禁用该功能,或者我无法为所有内容编写
printf("%*.16e ",value);
产出:
1.1743571567901844e-309
但是,在使用MS Visual Studio 2008进行调试期间,使用GUI将鼠标移到变量名上(或在监视列表中查看),添加的#DEN后缀会妨碍查看最低有效位:
1.174357156790e-309#DEN
是否有办法禁用该功能,或者我无法为所有内容编写printf语句?我不确定这是否有效,但您可以尝试在Watch或QuickWatch窗口中使用
e
、f
或g
中的一个。例如,尝试在“监视”窗口中的一行中键入以下内容:
value,f
但是,这对于在源代码中的变量上滑动鼠标肯定不起作用。该数字没有16位有效数字。你为什么对随机数感兴趣?我正在MATLAB中运行相同的代码,并精确地比较结果。我需要这个来比较这些值,看看它们是否因为错误或舍入而不同。希望随机数重复得好是没有意义的。务必查找“非规范浮点值”的含义。谷歌的第一次点击是好的。那么Visual Studio是否故意阻止查看最低小数,因为它们实际上不存在,因为插入了前导零?如果是这样的话,那么最后4位数字(上面例子中的“1844”)实际上来自哪里?这几乎奏效了,但它只显示了7个有效数字。