浮点值的按位运算
在 C/C 中,按位运算只能对整数执行,不能对浮点执行数字。这是因为浮点数使用与按位运算不兼容的二进制表示。
例如,当尝试对浮点数 a 执行按位运算时,例如 a = a & ( 1
将浮点数 a 转换为整数,如 a = (int)a & (1
另一种将值转换为 void 指针的尝试,a = (void*)a & (1
对浮点数执行按位运算的唯一方法是分析原始数据的位内容该值占用的内存。这可以使用联合来完成:
union FloatToInt { float f; int i; }; FloatToInt fi; fi.f = 1.4123; fi.i = fi.i & (1 << 3);
以上是C/C中可以对浮点数进行按位运算吗?的详细内容。更多信息请关注PHP中文网其他相关文章!