c语言中通过强制类型转换 将小数部分去掉,类型转换
一、隐式转换
1、对象的类型定义了对象能包含的数据和能参与的运算,其中一种运算被大多数类型支持,就是将对象从一种给定的类型转换为另一种相关类型。
2、当在程序的某处我们使用了一种类型而其实对象应该取另一种类型时,程序会自动进行类型转换,因此它们被称作隐式转换。
3、发生隐式转换的情况:
1)在大多数表达式中,比int类型小的整型值首先提升为较大的整数类型。
2)在条件中,非布尔类型转换成布尔类型。
3)初始化过程中,初始值转换成变量的类型;在赋值语句中,右侧运算对象转换成左侧运算对象的类型。
4)如果算数运算或关系运算的运算对象有多种类型,需要转换成同一种类型。
5)函数调用时也会发生类型转换。
4、类型所能表示的值的范围决定了转换的过程
1)当我们把一个非布尔类型的算术值赋给布尔类型时,初始值为0则结果为false,否则结果为true。
2)当我们把一个布尔值赋给非布尔类型时,初始值为false则结果为0,初始值为true则结果为1。
3)当我们把一个浮点数赋给整数类型时,进行了近似处理。结果值将仅保留浮点数中小数之前的部分。
4)当我们把一个整数值赋给浮点类型时,小数部分记为0。如果该整数所占的空间超过了浮点类型的容量,精度可能有损失。
5)当我们赋给无符号类型一个超出它表示范围的值时,结果是初始值对无符号类型表示数值总数取模后的余数。
6)当我们赋给带符号类型一个超出它表示范围的值时,结果是未定义的。程序可能继续工作、可能崩溃,也可能生成垃圾数据。
5、负数转换成无符号数:把负数转换成无符号数类似于直接给无
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
