首页 > 其他 > 详细

double型数据存储

时间:2016-07-13 15:55:19      阅读:128      评论:0      收藏:0      [点我收藏+]

double型占64位(0~63)

其中最高位63bit表示符号:0正1负

62~52bit:11位的指数位

52~0bit:52位的数据位

 

举例说明:-64.446263

  1. 共8字节,63bit:1; 
  2. 62~52bit:   64=100 000; 所以指数应该是7,这里使用隐藏位技术,第一位1隐藏,所以指数位=6;同时指数位基数为1023所以最终为1029=100 0000 0101;
  3. 52~0:前6位应该是00 0000(64=100 0000 隐藏最高位1);剩下46位表示0.446263

使用十六进制表示: 0x c0 00  50 ......

实际存储为高位字节在最右边。

 

char型转成double型在C++中可以使用memcpy函数:

    char temp[8] = { 37,-3,-23,-110,-113,-36,80,-64 };
    double d=0;
    memcpy(&d, temp, 8);

 

double型数据存储

原文:http://www.cnblogs.com/dkma/p/5666749.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!