美文网首页
R 浮点运算中的精度问题

R 浮点运算中的精度问题

作者: 11的雾 | 来源:发表于2019-07-17 13:23 被阅读0次

举个例子:

>x <- seq(0,1,by=0.2)  # seq()生成序列的函数。
>y <- seq(0,1,by=0.2)
>y[4]
[1]  0.6
>x[3]
[1]  0.4
>1-x[3]
[1] 0.6
> y[4] > 1-x[3]
[1] TRUE

这里竟然出现了0.6大于0.6的情况。 这也是在计算机中经常出现的一个问题。(不过表示出来这样的结果起始应该算是R的缺陷,稍微高级的数学运算软件一般都会通过一些方法来克服),笔者这里想说之前写过一篇文章中python也有这样的问题

简单来说,就是浮点数在计算机中的表达有限制,不能以任意精度存储,所以,尤其是微小的数字或者巨大的数字在运算时经常会出现一些意外情况。

再举几个例子

>seq(0, 1, 0.1)
[1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
>seq(0,1,0.1) == c(0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1)
[1]  TRUE  TRUE  TRUE FALSE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE
>0.3 - 0.7 + 0.4 == 0
[1] FALSE
>sqrt(2)^2 == 2
[1] FALSE

因此,在处理R里面的数据时,尤其是在判断时,需要特别注意精度问题。

相关文章

  • R 浮点运算中的精度问题

    举个例子: 这里竟然出现了0.6大于0.6的情况。 这也是在计算机中经常出现的一个问题。(不过表示出来这样的结果起...

  • JavaScript 浮点运算精度问题

    JavaScript 浮点运算精度问题 JavaScript浮点运算存在精度问题,本文阐述问题的产生原因以及解决方...

  • iOS开发浮点数计算精度问题

    1、浮点数运算带来的问题 在日常工作中涉及到浮点数(float、double)的运算 2、浮点数运算精度的解决方案...

  • 计算机组成原理:浮点精度运算不精确的原因

    为什么浮点精度运算会有问题 我们平常使用的编程语言大多都有一个问题——浮点型精度运算会不准确。比如 笔者在测试的时...

  • javaScript-02

    运算符 算数运算符 概念:算术运算使用的符号,用于执行两个变量或值的算术运算。 浮点数的精度问题浮点数值的最高精度...

  • iOS浮点运算精度问题

    无论是double还是float ,CPU位数都是有限的!而浮点数,理论上是无限长的!所以普通的浮点类型,进行运算...

  • js浮点运算

    前言 在项目开发过程中发现浮点数的运算会出现精度问题,尤其是乘除运算。产生浮点数计算精度不准确的原因: 在计算机角...

  • 使用underscorejs解决js的大数问题

    js的浮点运算存在精度问题原因:js对于number类型的数使用的是IEEE754标准中的双精度数存储,总共64位...

  • Java中浮点型运算的精度问题

    对于浮点型运算,可能出现如下损失精度的问题: 这种情况,只能用两个数的距离在某个范围内判定它们相等来做。如有a ,...

  • C 浮点数

    浮点数存储带来的问题 问题背景 计算机中浮点数(float或double类型)都有精度范围,对于超出精度范围的浮点...

网友评论

      本文标题:R 浮点运算中的精度问题

      本文链接:https://www.haomeiwen.com/subject/dvjqlctx.html