注册 登录
编程论坛 C语言论坛

关于阶码的指数问题

niuniuchiniu 发布于 2019-08-18 12:54, 2144 次点击
代码如下

     float c = 3;
     printf("%x", &c);
    //   4      0         4      00000
    // 0 100   0000   0 100 0000 0000 0000 0000 0000
    //阶码 128 = 127 +1 ,这里的1是怎么计算出来的?
    system("pause");
阶码 = 127 + 指数,请问各位大侠这里的指数是指什么,怎么推导出来的?感激不尽!
2 回复
#2
rjsp2019-08-19 08:56
听不懂你贴的代码和注释是什么鸟意思
float c = 3;
printf("%x", &c);
打印出 c 的地址有什么意义?

3.0f 的二进制格式是 0 10000000 10000000000000000000000
也就是 符号为 正、指数为 10000000-01111111=1、尾数为 1.1
#3
rjsp2019-08-19 08:58
顺便说一下float的格式:32bits, 1符号位+8阶码位(固定偏移7F)+(隐含的1.)+23尾数位
1