如何计算具有指定类型的表达式的相对精度和绝对精度
How to calculate relative and absolute precision for an expression with specified type
我想比较表达式的相对精度和绝对精度(即(x+y(/k(当使用float和doubles时。我该怎么做?
什么类型满足此表达式的以下要求:
相对公差:1e-05
绝对公差:1e-08
示例功能:
<type> calc(<type> x, <type> y, <type> k){
return (x+y)/k;
}
什么类型符合以下要求。。。
无(至少不是浮点类型(。
您的要求不够具体,因此无法满足所有可能的输入。考虑x = 1e100
、y = 1e20
和k = 1
。由于float
和double
都没有80位,结果将是1e100
,绝对误差与1e20
一样大!
我想你误解了实际的要求,因为只有任意的精度类型才能确保绝对精度的要求。不是double
,也不是float
。
相关文章:
- 为什么在传递长整型时调用具有两个双精度类型的参数的重载函数?
- if(双精度类型 == 字符类型)
- 为什么乘法与C++双精度类型值的加法一样快?
- 如何将双精度类型的鼠标移动 x 和 y 从主机传递到 Qemu 中的虚拟机
- 解释为什么 C++ 和 C# 对双精度类型具有不同的最大值?
- 由于C++中双精度类型的准确性而导致的错误
- 由将值分配给双精度类型的变量而导致的浮点异常
- odeint:复杂且更高的精度类型
- 如何替换具有双精度类型的模板参数
- 在双精度类型数组中使用 memset()
- 如何将双精度类型转换为 DWORDLONG 或 DWORD 转换为 DWORDLONG 或 DWORD_PTR 转换为
- 无法将值赋给双精度类型
- 使用分数正确初始化双精度类型
- g++ abs()在短整型上似乎将其转换为双精度类型
- 常数表达式可以是双精度类型而不是只能是整型吗?
- 将c++双精度类型*转换为Java双精度类型
- 请求从"双精度"类型转换为非标量类型以及其他一些错误
- 无法从不区分大小写的字符串中提取双精度类型
- 如何将双精度类型转换为char*类型
- 复杂/双精度类型的运算符重载"+"