@

观察IEEE浮点表示

工作中遇到过整型转浮点型(union那种转换),碰到就看下书,过后就遗忘了。等过段时间又出现此现象,又重新拿起书本,这次记录了过程。然而一直等到今天才写出来,以防以后还用到,如果能帮助到你就更好了。

测试代码

double uu2double(unsigned word0, unsigned word1)
{
union
{
double d;
unsigned u[2];
} temp; temp.u[0] = word0;
temp.u[1] = word1;
return temp.d;
}

思路

1,3(小端模式)

//unsigned 4字节
// u[1] u[0]
00 00 00 03 00 00 00 01 //double 8字节
//d
0000 0000 0000 0000 0000 0000 0000 0011 0000 0000 0000 0000 0000 0000 0000 0001 //IEEE 浮点表示
/*
V = (-1)^s * M * 2^E
符号(sign) 负数(s=1)、正数(s=0)
规格化的值(阶码域exp不全是0,也不全是1): E = e-Bias(2^(k-1)-1 单精度127,双精度1023),M = 1+f
非规格化的值(阶码域exp全是0): E = 1-Bias(2^(k-1)-1 单精度127,双精度1023),M = f
*/
//符号s 阶码exp 尾数f
0 00000000000 0000 0000 0000 0000 0011 0000 0000 0000 0000 0000 0000 0000 0001 非规格化 V = {2^(1-1023)*[(2^32+2^31+2^0)/(2^52)]} = 6.365987373390e-314#DEN

结果

参考资料

深入理解计算机系统(中文,原书第三版)



最新文章

  1. PPP协议
  2. redis 数据类型详解 以及 redis适用场景场合
  3. ASP.NET MVC过滤器中权限过滤器ValidateAntiForgeryToken的用法(Post-Only)
  4. social emotion computing-感情的分类
  5. OracleBulkCopy
  6. 搭建spring的开发环境
  7. JS constructor
  8. 创建触发器在表中播入数据时ID自动增长
  9. Cocos2d-x如何控制动作速度
  10. CSS的力量
  11. Highly divisible triangular number
  12. error C2143 & error C4430
  13. Android开发环境的搭建之(四)虚拟设备AVD的基本配置
  14. #pragma的用法
  15. 关于java 定时任务
  16. 序言 - PHP零基础快速入门
  17. 怎么简单高效破解MyEclipse10、获取注册码
  18. Xshell无法使用root远程登录Ubuntu16服务器
  19. 3. 文本相似度计算-DSSM算法
  20. 2018.08.22 hyc的xor/mex(线段树/01trie)

热门文章

  1. 结对编程(-java-实现)
  2. Jmeter接口测试与数据驱动
  3. pycharm 使用Git提交代码到Github
  4. 【面试题】java基础(一)
  5. C语言之整除
  6. 重新学习SpringMVC——高级
  7. Spring Cloud微服务安全实战_4-4_OAuth2协议与微服务安全
  8. 在springboot中使用redis缓存,将缓存序列化为json格式的数据
  9. 4.Go-结构体、结构体指针和方法
  10. cd1101d 树形dp