如何對浮點數執行按位運算我試過這個: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 關注
- 1246 瀏覽
添加回答
舉報
0/150
提交
取消