码迷,mamicode.com
首页 > 其他好文 > 详细

1029计算浮点数相除的余

时间:2017-12-03 00:40:45      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:默认   计算   std   can   name   精确   字符   技术   ace   

 1 #include<cstdio>
 2 using namespace std;
 3 int main()
 4 {
 5     double a,b,r;
 6     int k;
 7     scanf("%lf%lf",&a,&b);
 8     k=a/b;
 9     r=a-k*b;
10     printf("%g",r);
11     
12     return 0;
13 }

 

  • %g用于打印浮点型数据时,会去掉多余的零,至多保留六位有效数字(不同于%e的默认保留小数点后6位)
  • 当%g用于打印超过6位的浮点型数据时,因为精度问题,%f不得不输出一个不精确的超过六位的数字,%e也是同样,而%g此时会选择%e格式进行输出,并且按第一条要求,去掉多余的零,并且四舍五入到6位数字。这是《C Primer Plus》中所说的超过精度的时候的情况。 (可见,这个6位,是按float类型精度来计算的。)
  • 当一个数字的绝对值很小的时候,要表示这个数字所需要的字符数目就会多到让人难以接受。举例而言,如果我们把π*10^-10写作0.00000000000314159就会显得非常丑陋不雅,反之,如果我们写作3.14159e-10,就不但简洁而且易读好懂。当指数是-4时,这两种表现形式大小相同。对于比较小的数值,除非该数的指数小于或者等于-5,%g才会采用科学技术发来表示,即,以%e的格式进行输出。

1029计算浮点数相除的余

标签:默认   计算   std   can   name   精确   字符   技术   ace   

原文地址:http://www.cnblogs.com/tflsnoi/p/7956348.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!