我正在编写一个函数,它将获得浮点数(IEEE 754标准)的指数但由于某种原因,当我在数字上使用右移位运算符时,它返回0
这是功能
int get_exp (int x)
{
return ( ((x >> 21) & 255) -127 );
}
Run Code Online (Sandbox Code Playgroud)
我传递它7.23所以输出应该是2,由于某种原因,(x >> 21)部分返回0时它应该实际返回129. 255是我正在使用的掩码和(&)与指数浮点数的一部分.