第5讲_类型转换

第5讲_类型转换

ID:34449687

大小:535.10 KB

页数:10页

时间:2019-03-06

第5讲_类型转换_第1页
第5讲_类型转换_第2页
第5讲_类型转换_第3页
第5讲_类型转换_第4页
第5讲_类型转换_第5页
资源描述:

《第5讲_类型转换》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式LinuxLinux系统开发技术第5讲类型转换编者:方红芬数据类型转换•C数据类型转换方式–自动转换(隐式转换)–赋值转换–强制转换自动转换•在多种数据类型混合运算时,系统一般会自动完成类型转换;•转换的规则是:存储长度较短的转换成存储长度较长的,并且不丢失信息。charch;inti,result;floatf;doubled;result=(ch/i)+(f*d)-(f+i);赋值转换•赋值转换–如果赋值运算符两侧的类型不一致,但都–是数值型或字符型时,在赋值时要进行类型–转换。•赋值转换分类–浮点型与整型赋值转

2、换–double型与float型赋值转换–字符型与整型赋值转换–Int类型与long类型赋值转换浮点型与整型赋值转换•将浮点型数据赋给整型变量时,舍弃浮点数的小数部分。–例:inti=3.56•将整型数据赋给浮点型变量时,数值不变,但以浮点数形式存储到变量中。–例:floatf=23double型与float型赋值转换•将一个double型数据赋给float变量时,截取其前面7位有效数字,存放到float变量的存储单元(4个字节)中。但应注意数值范围不能溢出。–例:floatf;doubled=123.456789e100

3、;f=d;就出现溢出的错误。Inf,0•如果将一个float型数据赋给double变量时,数值不变,存储方式与有效位数与double类型一致;字符型与整型赋值转换•字符型数据赋给整型变量时,将字符数据放到整型变量存储单元的低8位中。–对于无符号字符类型,则将字符的8位放到整型变量低8位,高8位补零;–对于有符号字符类型,若字符最高位为0,则整型变量高8位补0;若字符最高位1,则高8位全补1。–Char000000012400000,10000001»241111111,10000001•将一个整型数据赋给一个char型

4、变量时,只将其低8位原封不动地送到char型变量(即截断)。Int类型与long类型赋值转换•将有符号int类型赋给long类型变量时,要进行符号扩展;–如果int类型的最高位为1,则long类型的高位全补1;–如果int类型的最高位为0,则long类型的高位全补0•将无符号int类型数据赋给long类型变量时,不存在符号扩展问题,只需将高位补0即可。•将long类型赋给int类型变量时,将低位原封不动的送给int类型,做截断;强制类型转换•强制类型转换符:()–(类型名)表达式;•示例:–(double)a将a转换成do

5、uble类型–(int)(x+y)将x+y的值转换成整型–(float)(5%3)将5%3的值转换成float型经过赋值运算后,(int)f返回的整型值重新转换为浮点数,f本身的值floatf,x;不变。f=3.14159;x=(int)f;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。