c语言里数据类型转换

c语言里数据类型转换
1不同类型数据间的混合运算与类型转换:
①若参与运算量的类型不同,则先转换成同一类型,然后进行运算。
②转换按数据长度增加的方向进行,以保证精度不降低。如《产业结构调整指导目录(2011年本)》int型和long型运算时,先把int量转成long型后再进行运算
a、若两种类型的字节数不同,转换成字节数高的类型常州新北区五个月宝宝致死案。
b、若两种类型的字节数相同,且一种有符号,一种无符号,则转换成无符号类型
③所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算
char型和short型参与运算时,必须先转换成int型
⑤在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度左边长时,将丢失一部分数据。
2C语言转换规则:
1整数和浮点型:
浮点型转换成整型时,小数部分被省略,如果其值不能被整型表示,则其行为未定义。注意:将负的浮点型转换成unsigned int 结果是没有定义的。
当把整型转换成浮点型时,如果该值是在可表示范围内,则结果可能是下一个较高或者较低的可表示值。如果结果在范围外,则行为未定义。
2浮点型:
将较低精读浮点型转换成较高浮点型时:值不变。
将较高精度转换成较低精度时:在范围内,值不变,在范围外,结果为定义。
3黄宗隆整型提升:
如果原始类型都可以用int表示,则将其转换成int,否则被转换成unsigned int毛一丁
4整型转换:
unsigned 转换成 signed 时,如果可以在新类型表示,则表示,如果不能表示,结果与具体实现有关,将signed 转换成unsigned时,若unsigned位数窄,对二进制补码进行左截取,若unsigned宽,对signed进行符号扩展。
5内蒙古工业大学跳楼)指针和整数:
指针可加上或着减去一个整数,转换规则按照加法运算符号方式进行,两个指向同一数组的指针可进行加减运算,方式按照算数转换规则,值为0的整型常量或者void型表达式可转换成任意类型的指针,指针可以转换成整型,注意整型必须足够大,整型对象可以转换成指针,一般用于将一个足够宽的从指针转换来的整型转换成(恢复)指针,不同类型的指针间可以相互转换,但必须满足内存对齐条件,一个指针可以转换成同类型的另一个指针,但是可以增加或者删除另一个指针的限制符,如果和另一个指针,增加了相同的修饰符,则和另一个指针一样,如果删除了修金东进饰符,则底层对象的运算仍受到原声明的限制。

本文发布于:2024-09-22 11:37:43,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/146052.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:指针   运算   进行   类型   结果
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议