浮点数转整数注意的地方

来源:互联网 发布:mac重装失败 编辑:程序博客网 时间:2024/05/24 04:19

若float  F= 1.2345;

unsigned int I = (unisigned int)F;

没有问题。

若float  F= -1.2345;

即浮点数为负数时,在有些编译器上

unsigned int I = (unisigned int)F;

得到的I为一个错误的数。

正确的转换应该为

unsigned int I = (unisigned int)((int)F);

即先转为有符号的整形,再往无符号整形转换。


0 0
原创粉丝点击