温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C语言中的小数怎么表现

发布时间:2021-08-11 19:06:22 来源:亿速云 阅读:253 作者:chen 栏目:编程语言

这篇文章主要介绍“C语言中的小数怎么表现”,在日常操作中,相信很多人在C语言中的小数怎么表现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言中的小数怎么表现”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

  小数分为整数部分和小数部分,它们由点号.分隔,例如0.0、75.0、4.023、0.27、-937.198-0.27等都是合法的小数,这是最常见的小数形式,我们将它称为十进制形式。

  此外,小数也可以采用指数形式,例如7.25×102、0.0368×105、100.22×10-2、-27.36×10-3等。任何小数都可以用指数形式来表示。

  C语言同时支持以上两种形式的小数。但是在书写时,C语言中的指数形式和数学中的指数形式有所差异。

C语言中小数的指数形式为:

  aEn或aen

  a为尾数部分,是一个十进制数;n为指数部分,是一个十进制整数;E或e是固定的字符,用于分割尾数部分和指数部分。整个表达式等价于a×10n。

  指数形式的小数举例:

  2.1E5=2.1×105,其中2.1是尾数,5是指数。

  3.7E-2=3.7×10-2,其中3.7是尾数,-2是指数。

  0.5E7=0.5×107,其中0.5是尾数,7是指数。

  C语言中常用的小数有两种类型,分别是float或double;float称为单精度浮点型,double称为双精度浮点型。

  不像整数,小数没有那么多幺蛾子,小数的长度是固定的,float始终占用4个字节,double始终占用8个字节。

小数的输出

  小数也可以使用printf函数输出,包括十进制形式和指数形式,它们对应的格式控制符分别是:

  %f以十进制形式输出float类型;

  %lf以十进制形式输出double类型;

  %e以指数形式输出float类型,输出结果中的e小写;

  %E以指数形式输出float类型,输出结果中的E大写;

  %le以指数形式输出double类型,输出结果中的e小写;

  %lE以指数形式输出double类型,输出结果中的E大写。

  下面的代码演示了小数的表示以及输出:

  #include

  #include

  intmain()

  {

  floata=0.302;

  floatb=128.101;

  doublec=123;

  floatd=112.64E3;

  doublee=0.7623e-2;

  floatf=1.23002398;

  printf("a=%e\nb=%f\nc=%lf\nd=%lE\ne=%lf\nf=%f\n",a,b,c,d,e,f);

  return0;

  }

  运行结果:

  a=3.020000e-01

  b=128.100998

  c=123.000000

  d=1.126400E+05

  e=0.007623

  f=1.230024

对代码的说明:

  1)%f和%lf默认保留六位小数,不足六位以0补齐,超过六位按四舍五入截断。

  2)将整数赋值给float变量时会变成小数。

  3)以指数形式输出小数时,输出结果为科学计数法;也就是说,尾数部分的取值为:0≤尾数<10。   4)b的输出结果让人费解,才三位小数,为什么不能精确输出,而是输出一个近似值呢?这和小数在内存中的存储形式有关,很多简单的小数压根不能精确存储,所以也就不能精确输出,我们将在下节《小数在内存中是如何存储的,揭秘诺贝尔奖级别的设计(长篇神文)》中详细讲解。   另外,小数还有一种更加智能的输出方式,就是使用%g。%g会对比小数的十进制形式和指数形式,以最短的方式来输出小数,让输出结果更加简练。所谓最短,就是输出结果占用最少的字符。   

到此,关于“C语言中的小数怎么表现”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI