c++ sin cos atan2 提高其计算精度 谢谢
发布网友
发布时间:2022-04-24 09:03
我来回答
共2个回答
热心网友
时间:2022-04-24 10:33
不知道我对你的意思理解的对不对!
可以在输出的时候加以控制,规定小数点后的输出位数,如printf("%.8f %.8f",sin(a),cos(a)); 这里的.8表示小数点后保留8位小数。
c++还可以使用系统提供的函数setprecision(n)设置实数的精度为n位。在以一般十进制小数形式输出时n代表有效数字。在以fixed(固定小数位数)形式和scientific(指数)形式输出时n位小数位数 例如:cout<<"你要求的结果为: "<<setiosflags(ios::fixed)<<setprecision(8)<<sum<<endl;
//此处用到格式输出就是为了保证结果的精确性:固定格式,显示8位小数
提醒:记得使用上面的函数或控制符时,要加入头文件iostream和iomanip哟!
希望对你有帮助,呵呵
热心网友
时间:2022-04-24 11:51
我试了下还好啊.
#include<stdio.h>
#include "math.h"
void main()
{
double x,y,a;
x=0.6;y=0.8;
a=atan2(y,x);
printf("%lf %lf",sin(a),cos(a));
}