C语言中 int64_t怎么转换成double
2015-07-06
展开全部
double 与 _int64 的存储结构不同,要用强转才可以。
参考如下:
double Int64ToDouble(__int64 in64)
{
int flag=0;
double d;
if(in64 < 0)
{//负数处理
flag = 1;
in64 = -in64;
}
d = (unsigned long)(in64 >> 32);
// 直接运算1<<32会有数值溢出
d *= (1<<16);
d *= (1<<16);
d += (unsigned long)(in64 & 0xFFFFFFFF);
if(flag)
d = -d;
return d;
}
展开全部
强制转换,int64_t today; double t; t=(double) today;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据后面加(double)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自动转换的
追问
您好,以前是自动转换的- timestamp = (int64_t)(time / gCtx->video_time_base),但是timestamp的值是0.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询