在keil中如何将浮点型转换为整型呢?

[复制链接]
8553|18
 楼主| 余三水 发表于 2017-10-26 22:39 | 显示全部楼层 |阅读模式
在keil中如何将浮点型转换为整型呢?
16号哨兵 发表于 2017-10-27 08:33 | 显示全部楼层
强制转换就可以了吧
yyj8902 发表于 2017-10-27 08:38 | 显示全部楼层
看你要求的转换精度了,转成整形,精度肯定变了。
mcu5i51 发表于 2017-10-27 09:43 | 显示全部楼层
1.检查数据范围
2.按照所需精度调整数据
3.强行转换,得到有效数据和精度相关数据
单片机菜菜 发表于 2017-10-28 08:39 | 显示全部楼层
在精度运行的情况下转换,强制转换会失去精度的。
gaoxiansheng 发表于 2017-10-28 08:45 | 显示全部楼层
16号哨兵 发表于 2017-10-27 08:33
强制转换就可以了吧

这样不就精度没了吗?
Boooooosh 发表于 2017-10-29 09:00 | 显示全部楼层
16号哨兵 发表于 2017-10-27 08:33
强制转换就可以了吧

是否可以在不丧失精度的情况下,保留为整数呢?
myidear 发表于 2017-10-29 09:06 | 显示全部楼层
gaoxiansheng 发表于 2017-10-28 08:45
这样不就精度没了吗?

是的,浮点型本来精度就比整形高,多了那么多小数点呀
麦克塔维什 发表于 2017-10-30 10:26 | 显示全部楼层
利用系统默认的转换,即将小数部分截去,仅保留整数部分,如3.6转换为3,-5.68转换为5。
liutongda 发表于 2017-10-30 10:32 | 显示全部楼层
c语言中没有四舍五入,将浮点型转换成整形时,只保留小数点前面的数值
Elric_QZH 发表于 2017-10-30 16:00 | 显示全部楼层
C/C++中的整数除法运算符“/”本身就有取整功能(int / int)
enginezhong 发表于 2017-10-30 16:03 | 显示全部楼层
强制类型转换。比如float a=3.678;那么(int)a的值就是3;就是把小数点后边的数据直接删掉
ahhsyf 发表于 2017-10-30 17:14 | 显示全部楼层
使用c/c++标准库函数:ceil()  需要加载头文件c中加载#include  c++中加载#include
布拉格梦语 发表于 2017-10-30 17:19 | 显示全部楼层
自己编写函数,实现“上行”整型化:即将浮点数转换成大于它的最小的整数。
dongbaohui 发表于 2017-10-30 21:59 | 显示全部楼层
其实是做舍入的运算了,想几舍几入最简单的办法是在原数上加个0.n就可以了,如:想四舍五入就——5.4  int(5.4+0.5)=5
电子玩霸 发表于 2017-10-30 22:12 | 显示全部楼层
什么情况下用到浮点数转为整数呢,直接用浮点数就好了
原味_郭 发表于 2017-10-30 23:07 | 显示全部楼层
电子玩霸 发表于 2017-10-30 22:12
什么情况下用到浮点数转为整数呢,直接用浮点数就好了

例如在图像的光栅化阶段,就要执行大量的类型转换,以便将浮点数表示的坐标转化为整数表示的屏幕坐标。
wodelqbz 发表于 2017-10-30 23:12 | 显示全部楼层
可以根据实际情况进行算法的转换
zhangyi3312 发表于 2017-10-31 08:23 | 显示全部楼层
看你用什么语言的呢,c还是c++的呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

28

主题

356

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部