浮点型类型转换.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

浮点型类型转换第1页,共16页,星期日,2025年,2月5日浮点型C语言中除了整型外,另外一种数据类型就是浮点型,浮点型可以表示有小数部分的数据。浮点型包含三种数据类型,分别是单精度的float类型,双精度的double类型,和长双精度longdouble类型。第2页,共16页,星期日,2025年,2月5日浮点型(图表)浮点型floatdoublelongdouble类型位数有效数字取值范围float326~7-1.4e-45~3.4e38double6415~16-4.9e-324~1.8e308longdouble12818~19——第3页,共16页,星期日,2025年,2月5日浮点型参与运算的表达式中存在double类型,或者说,参与运算的表达式不是完全由整型组成的,在没有明确的类型转换标识的情况下(将在下一小节中讲解),表达式的数据类型就是double类型。例如:1+1.5+1/*表达式运算结果是double类型*/1+1.5 /*表达式运算结果是double类型*/1+2.0 /*表达式运算结果是double类型*/1+2 /*表达式运算结果是int类型*/例子当的1.5,编译器默认它为双精度的double类型,精度高占据存储空间大,如果只希望以单精度float类型运行,可以在常量后添加字符‘f’或者‘F’都可以,比如1.5F,2.38F。同样的,如果希望数据是以精度更高的longdouble参与运算,可以在常量后添加字符‘l’或者‘L’都可以,比如1.51245L,2.38000L。建议使用大写‘L’,因为小写‘l‘容易和数字1混淆。第4页,共16页,星期日,2025年,2月5日浮点型再举几个运算的表达式的例子,如下所示:inti,j;floatm;doublex;i+j /*表达式运算结果是int类型*/i+m /*表达式运算结果是float类型*/i+m+x /*表达式运算结果是double类型*/第5页,共16页,星期日,2025年,2月5日浮点型指数形式如下所示(‘e’或者‘E’都可以)2.0e3 表示2000.01.23e-2 表示0.0123.123e2 表示12.31.e-3 表示0.001对于指数形式,有以下两点要求:⑴字母e前面必须要有数字⑵字母e的后面必须是整数浮点型小数形式指数形式第6页,共16页,星期日,2025年,2月5日类型转换1隐式转换2显式转换第7页,共16页,星期日,2025年,2月5日类型转换计算过程中,如果遇到不同的数据类型参与运算该怎么办,是终止程序还是转换类型后继续运算。编译器采取第二种方式,如果能够转换成功,程序继续运算,如果转换失败,程序报错同时终止运行。数据类型有两种转换方式,分别隐式转换和显式转换。第8页,共16页,星期日,2025年,2月5日隐式转换C语言中设定了不同数据参与运算时的转换规则,编译器会在悄无声息中进行数据类型的转换,进而计算出最终结果,这就是隐式转换。第9页,共16页,星期日,2025年,2月5日隐式转换 inti; i=2+A; 先计算“=”号右边的表达式,字符型和整型混合运算,按照数据类型转换先后顺序,把字符型转换为int类型65,然后求和得67,最后把67赋值给变量i。 doubled; d=2+A+1.5F; 先计算“=”号右边的表达式,字符型、整型和单精度float类型混合运算,因为有浮点型参与运算,“=”右边表达式的结果一定是double类型,按照数据类型转换顺序,把字符型转换为类型65.0,2转换为2.0,1.5F转换为1.5,最后把双精度浮点数68.5赋值给变量d。第10页,共16页,星期日,2025年,2月5日隐式转换 上述情况都是有低精度类型向高精度类型的转换,如果逆向转换,可能会出现丢失数据的危险,编译器会以警告的形式给出提示。例如: inti; i=1.2; 浮点数1.2舍弃小数位后,把整数部分1赋值给变量i。如果i=1.9,运算后变量i的值依然是1,而不是2。注意:把浮点数转换为整数,直接舍弃小数位。第11页,共16页,星期日,2025年,2月5日隐式转换【范例-1】整型和浮点型数据类型间的隐式类型转换。01#includestdio.h02intmain(void)03{04inti;05i=1+2.0*3+1.234+c-A; /*混合运算*/06

文档评论(0)

xiaozhuo2022 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档