floating-point相关内容

C#漂浮死循环

下面code在C#(.NET 3.5 SP1)是我的机器上一个无限循环: 为(浮动I = 0; I< float.MaxValue;我++); 它达到了数16777216.0和16777216.0 + 1的结果为16777216.0。然而,在这一点上:我+ 1 = I 这是一些疯狂。 我知道有是如何浮点数存储一些误差。我读过整数更大的2 ^ 24比不能正确地存储为一个fl ..
发布时间:2015-11-26 20:33:57 C#/.NET

浮点等价?

我希望能够比较两个双打忽略一个可能的precision损失。有没有一种方法,已经处理这种情况? 如果不是,是否有一个门槛/准则知道多少是两个双打之间的充分等价? 解决方案 阈值是完全依赖于问题本身。对于一些问题,你可能会考虑1.001等于1.002和一些问题,你可能需要一个更小的门槛。 一般己技巧是: Math.Abs​​(A - B)< some_epsilon //`了` ..
发布时间:2015-11-26 20:08:13 C#/.NET

谁能解释这浮点怪事给我吗?

我是通过这样的一个浮动的所有可能值试图循环 浮法我= 0.0F; 浮小量= float.Epsilon; 而(我!= float.MaxValue){ I + =小量; } 而深远的价值2.3509887E-38F后,不再增加。 浮动的init = 2.3509887E-38F; 浮动F =(INIT + float.Epsilon); Console.WriteLine(F ..
发布时间:2015-11-26 19:55:12 C#/.NET

与前pression和分配的对象浮点不一致

这让我吃惊 - 同样的算法给出了不同的结果,具体取决于其执行: > 0.1F + 0.2F == 0.3f 假 >变种Z = 0.3f; > 0.1F + 0.2F ==ž 真正 > 0.1F + 0.2F ==(动态)0.3f 真正 (经过测试,在Linqpad) 这是怎么回事? 修改:我明白为什么浮点运算是IM precise,而不是它为什么 ..
发布时间:2015-11-26 10:17:25 C#/.NET

库在.NET严格的浮点运算

我有算法/计算在Java和单元测试它。单元测试预期结果与一些precision /三角洲。现在我移植的算法中到.NET和想用相同的单元测试。我的工作与双数据类型。 的问题是,Java使用strictfp(64位),用于在数学类的一些操作。凡为.NET使用FPU / CPU总是(80位)。 .NET是更precise更快。 Java是更predictable。 由于我的算法中是循环和重新使用pr ..
发布时间:2015-11-26 10:14:41 Java开发

在数据库上浮到?在.NET

如果你有一个的MSSQLServer浮动,以你怎么在.NET中映射呢? 你能转换为双人间或将你输数? 解决方案 SQLServer的浮动和C#/ VB 双具有相同的重presentation。这是正确的映射。你不想做的就是地图的SQL Server 浮动为C#/ VB 浮动因为这可能涉及亏损的precision。 SQL Server的真正映射到C#/ VB 浮动。 T-SQL float ..
发布时间:2015-11-26 09:55:44 C#/.NET

其值不能被重新$ P $由双正确psented

双数据类型不能正确地重新present一些基本的10个值。这是因为重present实数如何浮点数。这意味着是重新presenting货币价值时,应该使用十进制值类型为prevent错误。 (随时纠正这一preamble错误) 我想知道的是什么是其中present下双数据类型这样的问题,在64位架构的值在标准Net框架(C#,如果有差别)? 我希望答案是一个公式或规则来找到这样的价值观,但我也想 ..
发布时间:2015-11-26 01:12:56 C#/.NET

Json.NET序列化浮点/双精度以最小的小数位,即没有多余" 0.0"?

在序列化和双精度浮点数,Json.NET总是在结尾加上“.0”如果数字不包含任何小数部分。我在想,如果有一个简单的方法来绕过这一点,导致了更紧凑的再presentation?额外的时间和零加起来序列包含许多数字对象时。 例如,运行此code时: JsonConvert.SerializeObject(1.0); 我希望(和希望)这样的结果: “1” 而是我得到: “1.0 ..
发布时间:2015-11-26 00:52:47 C#/.NET

十进制不同的再presentations为Double数学解释

我不知道如果陈述一个堆栈溢出问题,这种不规范的方式是好是坏,但这里有云: 什么是最好的(数学或其他技术)的解释,为什么在code: 静态无效的主要() { 十进制[] ARR = { 42米, 42.0米, 42.00米, 42.000米, 42.0000米, 42.00000米, 42.000000米, 42.00000 ..
发布时间:2015-11-26 00:35:22 C#/.NET

转换字符串到浮点数在C#

我将字符串转换成这样的“41.00027357629127”,我使用; Convert.ToSingle(“41.00027357629127”); 或 float.Parse(“41.00027357629127”); 这些方法返回4.10002732E + 15 当我转换为浮动我想“41.00027357629127”这个字符串应该是一样的... 解决方案 ..
发布时间:2015-11-26 00:04:00 C#/.NET

用浮漂不一致的乘法性能

在测试中的.NET彩车的表现,我对一个奇怪的情况下无意中发现:某些值,乘似乎比正常的方法要慢。下面是测试用例: 使用系统; 使用System.Diagnostics程序; 命名空间NumericPerfTestCSharp { 类节目{ 静态无效的主要(){ 基准(()=> float32Multiply(0.1F),“\ nfloat32 ..
发布时间:2015-11-25 23:53:19 C#/.NET

为什么C#允许*隐含的*从龙转换为浮动,这时候可能会失去precision?

有一个类似的问题隆中浮动,为什么呢?这里没有回答什么,我搜索为 C#标准允许从长期隐式转换为浮动。 但是,任何长期大于2 ^ 24时psented为float再$ P $势必会失去其“价值”。 C#标准中明确指出,长时间浮充转换可能失去'precision“,但绝不会输”的幅度“。 我的问题是 在参考整数类型是什么'precision'和'规模'的意思。是不是数n,从数n + 1不同的实数,其 ..
发布时间:2015-11-25 23:51:00 C#/.NET

为什么会double类型的变量有意想不到的结果呢?

我的完整性检查失败,因为一个双变量不包含预期的结果,这真是匪夷所思。 双A = 1117.54 + 8561.64 + 13197.37; 双B = 22876.55; Console.WriteLine(“{0} = {1}:{2}”,A,B,一个== B); 为我们提供了这样的输出: 22876.55 == 22876.55:假 进一步检查告诉我们,变量,实际上包含值22 ..
发布时间:2015-11-25 16:06:41 C#/.NET

在.NET中使用浮点错误处理

我工作的一个科学计算和放大器;可视化项目在C#/。NET,我们使用双 s至重新present所有的物理量。因为浮点数始终包括位四舍五入,我们有简单的方法做相等比较,如: 静态双EPSILON = 1E-6; 布尔ApproxEquals(双D1,D2双){ 返回Math.Abs​​(D1 - D2)LT; EPSILON; } pretty的标准。 不过,我们不断发现 ..
发布时间:2015-11-25 15:10:47 C#/.NET

C#Math.Pow()被打破

不,这不会(我的理解)涉及整数除法或浮点舍入的问题。 我的确切code是: 静态无效的主要(字串[] args) { 双电源=(双)1.0 /(双)7.0; 双expBase = -128.0; 的System.Console.WriteLine(“健康检查:预期:-128 ^ 0.142857142857143 = -2实际:”+ ex ..
发布时间:2015-11-25 14:26:10 C#/.NET

如何模操作的工作方式与浮点数据类型?

我米试图找出对浮点数据类型的简单模操作。 浮起= 3.14f; 浮动B = 10F; 结果= x%A; 我米得到的结果= 3.14 使用十进制数据类型又如: 十进制P = 10; 十进制Q = 40; 结果= P%Q; 得到的答案= 20。 我不理解它是如何工作的弹性模量? 解决方案 从浮点其余的C#语言规范。在 X%Y 如果 X 和是的情况下,是正有限值。 ..
发布时间:2015-11-25 14:25:15 C#/.NET

是SSE浮点运算重现?

的的x87 FPU值得注意的是使用内部80位precision模式,这往往导致跨越编译器和机器意想不到和unreproducible结果。 SSE(2)严格使用32位寄存器的32位浮点数,以及严格的64位寄存器,用于64位浮点数。非规格化可以选择通过设置href="http://msdn.microsoft.com/en-us/library/vstudio/c9676k6h.aspx" rel= ..
发布时间:2015-11-25 14:17:00 C#/.NET

Assert.AreEqual()与System.Double变得非常混乱

说明 这是不是一个真正的世界的用法!请不要建议使用十进制或别的东西。 我只是问,因为我真的很想知道为什么会这样。 我最近看到的真棒Tekpub网上直播精通C#4.0与乔恩斯基特一次。 在情节的 7 - 小数和浮点它会很奇怪,甚至我们 编程查克·诺里斯(又名乔恩斯基特)没有真正回答我的问题。 只有一个的也许的。 问:为什么我的 MyTestMethod()失败,我的 MyTestMetho ..
发布时间:2015-11-25 13:21:28 C#/.NET