数值精度与.net框架

数值精度与.net框架,.net,.net-core,precision,.net-standard,.net,.net Core,Precision,.net Standard,在我们的项目中,我们有一个用C#编写的计算dll 在为.Net 4.7.2构建之前 现在它是在.NetStandard中构建的 自迁移以来,我们观察到输出的最后一位小数几乎没有差异 你认为这些变化的参数是观察到的数值差异的一个很好的解释吗 我很确定,根据执行CPU体系结构和使用的.Net framework,总线(?)或CPU(?)中的实际字节数不相同,这可能会影响某些数值算法结果的精度 编辑:两个应用程序使用此dll,一个在.Net 4.7.2中,另一个在.Net core 2.1中。我们在

在我们的项目中,我们有一个用C#编写的计算dll

在为.Net 4.7.2构建之前

现在它是在
.NetStandard
中构建的

自迁移以来,我们观察到输出的最后一位小数几乎没有差异

你认为这些变化的参数是观察到的数值差异的一个很好的解释吗

我很确定,根据执行CPU体系结构和使用的.Net framework,总线(?)或CPU(?)中的实际字节数不相同,这可能会影响某些数值算法结果的精度



编辑:两个应用程序使用此dll,一个在
.Net 4.7.2
中,另一个在
.Net core 2.1
中。我们在迁移之前/之后的第一个应用程序中看到了数字上的差异,这两个应用程序之间也存在差异。

您的应用程序使用的框架是什么?是.NETCore3.1吗。NET标准不是一个框架。无论如何,这也许可以解释你所看到的:@MartinLiversage谢谢你的链接:),我怀疑是这种事情……这回答了你的问题吗@IanKemp:你的链接是关于类似主题的。但是我们在项目中遇到的问题是,当4.7.2和netstandard中编译的DLL被4.7.2或core-2.1中的进程调用时,情况有所不同。实际上,我怀疑,当我们在AnyCpu中编译调用项目时,根据DLL编译情况,当DLL在4.7.2中编译时,真正的执行是在x86中,而当在netstandard中编译时,真正的执行是在x64中。这是一个廉价的猜测。我正在寻找具有类似经验的用户来解决这一点。重新表述的问题是“netstandard是否支持x64执行,而Net4.7.2是否支持x86?”