C-将一个double数转换成一个十六进制字符串。

发布于 2017-01-20 06:28:50 字数 187 浏览 1227 评论 1

RT,一个double型的数,其实这个数是一个整数,但是太大,long可能不够用。要怎么把这个double的数转换成十六进制的字符串呢?
求思路,求算法。
1.这个double数大小未知,可能会超出long 的可表示范围;
2.这个double数其实就是一个整数,表示成double是因为1;
3.最后需要的是一个字符串

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浮生未歇 2017-07-26 18:31:51

int main()
{
double t=1.23;
char *p=(char *)&t;
char str[16]={0};

sprintf(str,"%X%X",*((long *)(p+4)),*((long *)(p)));//针对小端机器,大端顺序反过来即可
printf("%s",str);
getch();
return 0;
}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文