keil中,float浮点数负数无法强制转换为整型数uint?

2019-12-16 22:29发布

fushu.png (15.94 KB, 下载次数: 0) 下载附件 2018-11-5 01:00 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
25条回答
yiminglei_2
1楼-- · 2019-12-17 00:36
先转换成有符号数,再转换成无符号数。

float a = -10.0f;
uint32_t b;
b = (uint32_t)((int32_t)a);
zcllom
2楼-- · 2019-12-17 01:19
正数时,强制转换没有任何问题,负数时出问题。。。。
gamalot
3楼-- · 2019-12-17 02:40
 精彩回答 2  元偷偷看……
yiminglei_2
4楼-- · 2019-12-17 05:02
gamalot 发表于 2018-11-5 02:39
说实话俺没看懂楼主想要什么样的结果

对于浮点数-10.0 你希望它转化为无符号整数的哪个值?

float的-10.0对应的uint32_t 应该是0xFFFFFFF6
takashiki
5楼-- · 2019-12-17 10:29
yiminglei_2 发表于 2018-11-5 03:27
float的-10.0对应的uint32_t 应该是0xFFFFFFF6

逻辑上说不通。浮点数没有无符号的,-10.0f和0xFFFFFFF6u明显不等价。
laujc
6楼-- · 2019-12-17 13:36
感觉转换后没有任何意义

一周热门 更多>