我试过这个:
float a = 1.4123;
a = a & (1 << 3);
Run Code Online (Sandbox Code Playgroud)
我得到一个编译错误,说操作数&不能是float类型.
当我做:
float a = 1.4123;
a = (int)a & (1 << 3);
Run Code Online (Sandbox Code Playgroud)
我让程序运行.唯一的事情是按位操作是在舍入后获得的数字的整数表示上完成的.
以下也是不允许的.
float a = 1.4123;
a = (void*)a & (1 << 3);
Run Code Online (Sandbox Code Playgroud)
我不明白为什么int可以投,void*但不是float.
我这样做是为了解决Stack Overflow问题中描述的问题如何使用遗传算法求解线性方程?.