C语言中float型转换成int型是什么规则

[复制链接]
查看11 | 回复3 | 2019-6-3 09:19:39 | 显示全部楼层 |阅读模式
1、C语言整型使用原码、反码、补码进行编码,而浮点型使用IEEE754进行编码,所以强制转换基本上是没有任何意思的,因为编码格式不一样。2、正确的作法是使用c语言标准库中的floor和ceil函数来进行向下或者向上取整。比如:#include#includeintmain(){doubled=1.1;intup=ceil(d);intdown=floor(d);printf("up=%d\tdown=%d\n",up,down);return0;}//结果:up=2down=1
回复

使用道具 举报

千问 | 2019-6-3 09:19:39 | 显示全部楼层
C中浮点型转为整型,直接截取小数部分,把整数部分作为结果。不必关心存储细节
回复

使用道具 举报

千问 | 2019-6-3 09:19:39 | 显示全部楼层
可以通过强制转换类型.例如float x=3.555;
inti;
i=(int)x;
printf("i=%d",i);
回复

使用道具 举报

千问 | 2019-6-3 09:19:39 | 显示全部楼层
直接截取浮点数的整数部分
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行