当今做那些网站致富,wordpress快,珠海住建网站,北京海淀的保险公司点击上方蓝字关注我#xff0c;了解更多咨询1.不同类型数据间的混合运算与类型转换#xff1a;①若参与运算量的类型不同#xff0c;则先转换成同一类型#xff0c;然后进行运算②转换按数据长度增加的方向进行#xff0c;以保证精度不降低。如int型和long型运算时#x… 点击上方蓝字关注我了解更多咨询1.不同类型数据间的混合运算与类型转换①若参与运算量的类型不同则先转换成同一类型然后进行运算②转换按数据长度增加的方向进行以保证精度不降低。如int型和long型运算时先把int量转成long型后再进行运算a、若两种类型的字节数不同转换成字节数高的类型b、若两种类型的字节数相同且一种有符号一种无符号则转换成无符号类型③所有的浮点运算都是以双精度进行的即使仅含float单精度量运算的表达式也要先转换成double型再作运算④char型和short型参与运算时必须先转换成int型⑤在赋值运算中赋值号两边量的数据类型不同时赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度左边长时将丢失一部分数据2.C语言转换规则(1)整数和浮点型浮点型转换成整型时小数部分被省略如果其值不能被整型表示则其行为未定义。注意将负的浮点型转换成unsigned int 结果是没有定义的。当把整型转换成浮点型时如果该值是在可表示范围内则结果可能是下一个较高或者较低的可表示值。如果结果在范围外则行为未定义。(2)浮点型将较低精读浮点型转换成较高浮点型时值不变。将较高精度转换成较低精度时在范围内值不变在范围外结果为定义(3)整型提升如果原始类型都可以用int表示则将其转换成int否则被转换成unsigned int(4)整型转换将unsigned 转换成 signed 时如果可以在新类型表示则表示如果不能表示结果与具体实现有关将signed 转换成unsigned时若unsigned位数窄对二进制补码进行左截取若unsigned宽对signed进行符号扩展。(5)指针和整数指针可加上或着减去一个整数转换规则按照加法运算符号方式进行两个指向同一数组的指针可进行加减运算方式按照算数转换规则值为0的整型常量或者void*型表达式可转换成任意类型的指针指针可以转换成整型注意整型必须足够大整型对象可以转换成指针一般用于将一个足够宽的从指针转换来的整型转换成恢复指针不同类型的指针间可以相互转换但必须满足内存对齐条件一个指针可以转换成同意类型的另一个指针但是可以增加或者删除另一个指针的限制符如果和另一个指针增加了相同的修饰符则和另一个指针一样如果删除了修饰符则底层对象的运算仍受到原声明的限制。END*声明本文于网络整理版权归原作者所有如来源信息有误或侵犯权益请联系我们删除或授权事宜。戳“阅读原文”我们一起进步