小编Kar*_*sef的帖子

从C中的浮点获取指数

我正在编写一个函数,它将获得浮点数(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是我正在使用的掩码和(&)与指数浮点数的一部分.

c floating-point numbers exponent

0
推荐指数
1
解决办法
523
查看次数

标签 统计

c ×1

exponent ×1

floating-point ×1

numbers ×1