- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux
嵌入式LLiinnuuxx系统开发技术
第5讲 类型转换
编者:方红芬
数据类型转换
• C数据类型转换方式
– 自动转换(隐式转换)
– 赋值转换
– 强制转换
自动转换
• 在多种数据类型混合运算时,系统一般会自动完
成类型转换;
• 转换的规则是:存储长度较短的转换成存储长度
较长的,并且不丢失信息。
char ch;
int i, result;
float f;
double d;
result=(ch / i) + (f * d) - (f + i);
赋值转换
• 赋值转换
– 如果赋值运算符两侧的类型不一致,但都
– 是数值型或字符型时,在赋值时要进行类型
– 转换。
• 赋值转换分类
– 浮点型与整型赋值转换
– double型与float型赋值转换
– 字符型与整型赋值转换
– 类型与 类型赋值转换
Int long
浮点型与整型赋值转换
• 将浮点型数据赋给整型变量时,舍弃浮点
数的小数部分。
– 例:int i=3.56
• 将整型数据赋给浮点型变量时,数值不变
,但以浮点数形式存储到变量中。
– 例:
float f = 23
double float
型与 型赋值转换
• 将一个double型数据赋给float变量时,截取
其前面7位有效数字,存放到float变量的存
储单元( 个字节)中。但应注意数值范围
4
不能溢出。
– 例:float f;double d=123.456789e100; f=d;就
出现溢出的错误。Inf,0
• 如果将一个float型数据赋给double变量时,
数值不变,存储方式与有效位数与double
类型一致;
字符型与整型赋值转换
• 字符型数据赋给整型变量时,将字符数据放到整
型变量存储单元的低8位中。
– 对于无符号字符类型,则将字符的8位放到整型变量
低8位,高8位补零;
– 对于有符号字符类型,若字符最高位为0,则整型变
量高8位补0;若字符最高位1,则高8位全补1。
– Char 0000 0001 24 00000, 1000 0001
» 24 1111111, 1000 0001
• 将一个整型数据赋给一个char型变量时,只将其
低 位原封不动地送到 型变量(即截断)。
8 char
Int long
类型与 类型赋值转换
• 将有符号 类型赋给 类型变量时,要进行符
int long
号扩展;
– 如果 类型的最高位为 ,则 类型的高位全补 ;
原创力文档


文档评论(0)