网站大量收购独家精品文档,联系QQ:2885784924

浮点型类型转换.pptVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浮点型类型转换 第1页,共16页,编辑于2022年,星期四 浮点型 C 语言中除了整型外,另外一种数据类型就是浮点型,浮点型可以表示有小数部分的数据。浮点型包含三种数据类型,分别是单精度的float类型,双精度的double类型,和长双精度long double类型。 第2页,共16页,编辑于2022年,星期四 浮点型 (图表) 浮点型 float double long double 类型 位数 有效数字 取值范围 float 32 6~7 -1.4e-45~3.4e38 double 64 15~16 -4.9e-324~1.8e308 long double 128 18~19 —— 第3页,共16页,编辑于2022年,星期四 浮点型 参与运算的表达式中存在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。同样的,如果希望数据是以精度更高的long double参与运算,可以在常量后添加字符‘l’或者‘L’都可以,比如1.51245L,2.38000L。建议使用大写‘L’,因为小写‘l‘容易和数字1混淆。 第4页,共16页,编辑于2022年,星期四 浮点型 再举几个运算的表达式的例子,如下所示: int i,j; float m; double x; i + j /*表达式运算结果是int类型*/ i + m /*表达式运算结果是float类型*/ i + m +x /*表达式运算结果是double类型*/ 第5页,共16页,编辑于2022年,星期四 浮点型 指数形式如下所示(‘e’或者‘E’都可以) 2.0e3 表示2000.0 1.23e-2 表示0.0123 .123e2 表示12.3 1.e-3 表示0.001 对于指数形式,有以下两点要求: ⑴ 字母e前面必须要有数字 ⑵ 字母e的后面必须是整数 浮点型 小数形式 指数形式 第6页,共16页,编辑于2022年,星期四 类型转换 1 隐式转换 2 显式转换 第7页,共16页,编辑于2022年,星期四 类型转换 计算过程中,如果遇到不同的数据类型参与运算该怎么办,是终止程序还是转换类型后继续运算。编译器采取第二种方式,如果能够转换成功,程序继续运算,如果转换失败,程序报错同时终止运行。数据类型有两种转换方式,分别隐式转换和显式转换。 第8页,共16页,编辑于2022年,星期四 隐式转换 C语言中设定了不同数据参与运算时的转换规则,编译器会在悄无声息中进行数据类型的转换,进而计算出最终结果,这就是隐式转换。 第9页,共16页,编辑于2022年,星期四 隐式转换 int i; i = 2 + A; 先计算“=”号右边的表达式,字符型和整型混合运算,按照数据类型转换先后顺序,把字符型转换为int类型65,然后求和得67,最后把67赋值给变量i。 double d; d = 2 + A + 1.5F; 先计算“=”号右边的表达式,字符型、整型和单精度float类型混合运算,因为有浮点型参与运算,“=”右边表达式的结果一定是double类型,按照数据类型转换顺序,把字符型转换为类型65.0,2转换为2.0,1.5F转换为1.5,最后把双精度浮点数68.5赋值给变量d。 第10页,共16页,编辑于2022年,星期四 隐式转换 上述情况都是有低精度类型向高精度类型的转换,如果逆向转换,可能会出现丢失数据的危险,编译器会以警告的形式给出提示。例如: int i; i = 1.2; 浮点数1.2舍弃小数位后,把整数部分1赋值给变量i。如果i=1.9,运算后变量i的值依然是1,而不是2。 注 意:把浮点数转换为整数,直接舍弃小数位。 第11页,共16页,编辑于2022年,星期四 隐式转换 【范例-1】 整型和浮点型数据类型间的隐 式类型转换。 01 #include stdio.h 02 int main(void) 03 { 04 int i; 05 i=1+2.0*3+1.234+c-A; /*混合运算*/ 06 printf(%d\n,i); /*输出

文档评论(0)

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

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

1亿VIP精品文档

相关文档