我正在从事一个C++到C#迁移项目。我被一个涉及浮点算法的问题困住了。(d + 0.1) : (d - 0.1));我迁移到C#的函数与(注意,在C++中,sizeof(int)是2 bytes )相同。在C#中生成的二进制文件与C++生成的二进制文件不同。即使我在调试时(在编写文件之前)比较这些值,我也得到了不同的答案。
现在我要解释一下我的客户为什么会有所不同。So that I can defend by telling "The way C++ handles the floating point is differ
如果是这样,为什么当我在char、string和stringstream中使用程序时会收到以下警告:warning C4566: character represented by universal-character-name(当我使用wchar_t、wstring和wstringstream时,我没有得到这个错误。)
另外,我知道UTF是可变长度的。当我使用at或substr字符串方法时,我会得到错误的答案吗?
System.Console.OutputEncoding.EncodingName);运行一行程序后,我看到编码是Western European (DOS)下面是1200 Unicode和65001utf-8以及的Windows-1252 Western European (Windows)和850 Western European DOS的一些代码页的列表c:\blah>ჵ
如果我取消对最后一行的注释,从而将代码页更改为85
characters*/b /*there are values for a,b,c,d */d
如您所见,输入中的infix公式取决于用户。我的程序将取一个公式和n元组值.然后计算a,b,c和d的每个值的结果。如果你不知道我是说,程序的结果是图。/sometimes,我想我将输入并存储在字符串中。然后出现了另一个想