C++中科学计数法输出浮点数怎样对齐小数点
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/06/28 09:09:30
C++中科学计数法输出浮点数怎样对齐小数点
程序计算结果是两个浮点数a和b,b是a的误差范围,也就是需要表示成a±b的形式,由于a和b都远小于1所以用科学计数法输出.
问题是怎样处理才能移动b的小数点位置,使b的整数位跟a保持一致?
比如结果为 a = 9.168e-3 b = 2.214e-5
怎样才能输出成 9.168±0.022 e-3 的形式呢?
程序计算结果是两个浮点数a和b,b是a的误差范围,也就是需要表示成a±b的形式,由于a和b都远小于1所以用科学计数法输出.
问题是怎样处理才能移动b的小数点位置,使b的整数位跟a保持一致?
比如结果为 a = 9.168e-3 b = 2.214e-5
怎样才能输出成 9.168±0.022 e-3 的形式呢?
int CountNeg(float a)
{
int n = 0;
while((a = a * 10) < 10)
++n;
return n;
}
void EOut(float a, float b)
{
if (a < b)
return;
int na = CountNeg(a);
int nb = CountNeg(b);
for(int i = 0; i < na; i++)
a *= 10;
for(int i = 0; i < nb - na; i++)
b *= 10;
printf("%f±%fE%d", a, b, na * -1);
}
int main()
{
float a = 9.168e-3, b = 2.214e-5;
EOut(a, b);
return 0;
}
{
int n = 0;
while((a = a * 10) < 10)
++n;
return n;
}
void EOut(float a, float b)
{
if (a < b)
return;
int na = CountNeg(a);
int nb = CountNeg(b);
for(int i = 0; i < na; i++)
a *= 10;
for(int i = 0; i < nb - na; i++)
b *= 10;
printf("%f±%fE%d", a, b, na * -1);
}
int main()
{
float a = 9.168e-3, b = 2.214e-5;
EOut(a, b);
return 0;
}
C++中科学计数法输出浮点数怎样对齐小数点
C语言十六进制浮点数科学计数法
浮点数怎么不用科学计数法表示.什么情况下运行过程中浮点数会被用科学计数法表示?
C++ 中的数据怎样以浮点小数(而不是定点小数)输出,而不用科学计数法?
实型常量的浮点计数与科学计数法
浮点数表示法和科学计数法有区别吗?
C语言的浮点数 float x=3.2e3; 这个X=多少 我不懂 什么是科学计数法 呵呵 这个3.2e3 没明白
浮点数的科学计数法352.47=3.5247×10^2 =3524.7×10^-1 =0.35247×
c语言中浮点数四舍五入 .保留一个浮点数小数点后的6位,第3位要四舍五入.如 1.1234.567到1234.57000
科学计数法一般小数点后几位
C语言中,编写一个求浮点数绝对值的函数,在主函数中输入一个浮点数,输出绝对值(谢谢)
C#中如何获得浮点数,小数点后有几位