C-将一个double数转换成一个十六进制字符串。
RT,一个double型的数,其实这个数是一个整数,但是太大,long可能不够用。要怎么把这个double的数转换成十六进制的字符串呢?
求思路,求算法。
1.这个double数大小未知,可能会超出long 的可表示范围;
2.这个double数其实就是一个整数,表示成double是因为1;
3.最后需要的是一个字符串
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
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;
}