C++函数pow()精度丢失问题
来源:互联网 发布:java aspose 乱码 编辑:程序博客网 时间:2024/06/14 18:16
有问题的代码:
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
double m;
cin >> m;
int L = 3, AAA;
int Q=0;
AAA = m;
cout<<AAA<<endl;;
Q = (AAA % 10)*pow(10, L - 1);
cout<<pow(10,L-1)<<endl;
cout<<AAA%10<<endl;
cout<<Q << endl;
return 0;
}
截图
原因是pow的double的返回值,在浮点计算中会产生精度的偏差,而这个偏差在VC和VS中不会发生,是在codeblocks中发现的,注意
方法是将Q改为double
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
double m;
cin >> m;
int L = 3, AAA;
double Q=0;
AAA = m;
cout<<AAA<<endl;;
Q = (AAA % 10)*pow(10, L - 1);
cout<<pow(10,L-1)<<endl;
cout<<AAA%10<<endl;
cout<<Q << endl;
return 0;
}
0 0
- C++函数pow()精度丢失问题
- 关于 pow 浮点精度丢失
- 精度丢失&const&scanf函数诸多问题
- java精度丢失问题
- [C/C++]C语言中math.h和cmath的pow()精度问题
- 关于C++builder中精度丢失的问题
- 运算精度丢失和数值丢失问题
- float丢失精度的问题
- js加减乘除丢失精度问题
- 浮点数精度丢失问题
- java double精度丢失问题
- double丢失精度的问题
- PHP json_decode 精度丢失问题!
- 为什么会报精度丢失问题?
- 关于c++pow()函数
- Linux下的C语言pow()函数引出的问题
- C语言中关于pow()函数的问题
- float,double等精度丢失问题
- TP-LINK路由器连接网线上网教程(租房必备)
- 零基础入门学习Python(19):对象(4)组合、绑定
- Cracking code interviews_2
- R 语言中,数据框依据不同列进行排序
- 互信息图像配准
- C++函数pow()精度丢失问题
- Tech Spike: How popular video processing libraries/SDK manipulate cameras
- 人生6个不能等
- iOS,UITableView详细介绍之自定义Cell(二)
- 黑马程序员__java之多线程下
- 项目答辩
- Redis和Memcache的区别分析
- Leetcode 9 - Palindrome Number
- 云计算教程-翻译(1)