c语⾔赋值⼩数,c语⾔中将⼀个浮点型赋值给整型时,会不会
四舍五⼊?
c语⾔中将⼀个浮点型赋值给整型时,不会四舍五⼊,会直接舍去⼩数部分的数据,也可以认为是执⾏了下取整运算。
将浮点数(单双精度)转换为整数时,将舍弃浮点数的⼩数部分,只保留整数部分。将整型值赋给浮点型变量,数值不变,只将形式改为浮点形式,即⼩数点后带若⼲个0。注意:赋值时的类型转换实际上是强制的。
例如执⾏赋值后,⽆论5.4还是5.6都会变成5。
扩展资料:
C语⾔中其它数据类型的转换:
1、单、双精度浮点型
由于C语⾔中的浮点值总是⽤双精度表⽰的,所以float型数据只是在尾部加0延长为double型数据参加运算,然后直接赋值。double型数据转换为float型时,通过截尾数来实现,截断前要进⾏四舍五⼊操作。
2、char型与int型
int型数值赋给char型变量时,只保留其最低8位,⾼位部分舍弃。
char型数值赋给int型变量时,⼀些编译程序不管其值⼤⼩都作正数处理,⽽另⼀些编译程序在转换时,若char型数据值⼤于127,就作为负数处理。
浮点型变量float3、int型与long型
long型数据赋给int型变量时,将低16位值送给int型变量,⽽将⾼16位截断舍弃。(这⾥假定int型占两个字节)。将int型数据送给long型变量时,其外部值保持不变,⽽内部形式有所改变。
参考资料来源:百度百科-C语⾔类型强制转换
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论