[quote=引用 15 楼 chenandczh 的回复:] 哥,你用java 写一个控制台 程序 ,返回也是double ,你会发现 也是同样的结果
哥,你用java 写一个控制台 程序 ,返回也是double ,你会发现 也是同样的结果
我就在这里继续看楼下怎么说 我都不知道看到楼主发了多少这样的帖子了【c#的数学运算是不是不准啊】【 c#的double运算怎么不准啊】。。。 唉 无力吐槽。。 而且你非要觉得那个语言的精度很准 你就去用那个语言被 没人逼你用C# 退一万步讲 那么好 大家的回答直接就是【没错 就是不准】 so 你又能怎么办?。。。如果是这样 有干劲或者有能力的人 已经在开始自己动手写代码实现了
[quote=引用 楼主 imarshal 的回复:] 比如double d = Math.Sin(Math.PI); 然后查看d的内存,会发现是00 00 00 00 00 a6 a1 3c,尾数才算了12位,后面全部简化为0了
java还是c/c++的结果是07 5c 14 33 26 a6 a1 3c
[quote=引用 19 楼 crystal_lz 的回复:] 我就在这里继续看楼下怎么说 我都不知道看到楼主发了多少这样的帖子了【c#的数学运算是不是不准啊】【 c#的double运算怎么不准啊】。。。 唉 无力吐槽。。 而且你非要觉得那个语言的精度很准 你就去用那个语言被 没人逼你用C# 退一万步讲 那么好 大家的回答直接就是【没错 就是不准】 so 你又能怎么办?。。。如果是这样 有干劲或者有能力的人 已经在开始自己动手写代码实现了
比如double d = Math.Sin(Math.PI); 然后查看d的内存,会发现是00 00 00 00 00 a6 a1 3c,尾数才算了12位,后面全部简化为0了
[quote=引用 4 楼 sp1234 的回复:] 这是数学函数库中的 Sin 方法的设计问题,而“浮点数运算这么差”这个标题有点误导! 人家函数库就是没有花过多时间去迭代,那么这个运算中用到了浮点数,但是如果说“关浮点数运算差”等于是拿一个蚂蚁去比作全世界的动物了。
自打计算机出生,就有 浮点运算,而且一直都是那样 这与 C# 没有什么关系 既然选择了 浮点运算,那么就得接受他的低精度 当然 C# 也提供了高精度运算库,你视而不见也没办法
这是数学函数库中的 Sin 方法的设计问题,而“浮点数运算这么差”这个标题有点误导! 人家函数库就是没有花过多时间去迭代,那么这个运算中用到了浮点数,但是如果说“关浮点数运算差”等于是拿一个蚂蚁去比作全世界的动物了。
110,538
社区成员
642,577
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧