首页 新闻 会员 周边 捐助

如何获得double类型的高低位?

0
悬赏园豆:80 [已解决问题] 解决于 2020-03-20 11:48

我需要把8字节的double转成2个4字节的int,还要把它们转回double,求救!

凹出来的主页 凹出来 | 初学一级 | 园豆:33
提问于:2020-03-19 21:08
< >
分享
最佳答案
0
#include <stdio.h>

int main(int argc, char *argv[])
{
    double d = 123.123;
    int a = *(int *)(&d);
    int b = *((int *)(&d)+1);
    printf("a = %d\n", a);
    printf("b = %d\n", b);
    double e;
    *(int *)(&e) = a;
    *((int *)(&e)+1) = b;
    printf("e = %f\n", e);
    return 0;
}
收获园豆:80
jakio6 | 小虾三级 |园豆:1325 | 2020-03-19 21:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册