如何对浮点数执行按位运算我试过这个:float a = 1.4123;a = a & (1 << 3);我得到一个编译错误,说操作数&不能是float类型。当我做:float a = 1.4123;a = (int)a & (1 << 3);我让程序运行。唯一的事情是按位操作是在舍入后获得的数字的整数表示上完成的。以下也是不允许的。float a = 1.4123;a = (void*)a & (1 << 3);我不明白为什么int可以投,void*但不是float。
3 回答
忽然笑
TA贡献1806条经验 获得超5个赞
float a = 1.4123;unsigned int* inta = reinterpret_cast<unsigned int*>(&a);*inta = *inta & (1 << 3);
- 3 回答
- 0 关注
- 1198 浏览
添加回答
举报
0/150
提交
取消