coreBugZJ

此 blog 已弃。

I64 拆开为 高32位为I32,低32位为U32


I64 拆开为 高32位为I32,低32位为U32,怎么拆?
反过来,怎么组装?

要求 C 语言。

posted on 2011-10-26 23:51 coreBugZJ 阅读(2315) 评论(6)  编辑 收藏 引用 所属分类: ProgrammingLanguage

Feedback

# re: I64 拆开为 高32位为I32,低32位为U32 2011-10-27 09:08 空明流转

union i64{
int64_t packed;
struct { int32_t hi; uint32_t low; } unpacked;
};

int64_t v;
i64 i;
i.packed = v;
// int32_t xx = i.unpacked.hi;
// uint32_t yy = i.unpacked.low;  回复  更多评论   

# re: I64 拆开为 高32位为I32,低32位为U32[未登录] 2011-10-27 09:17 hh

Skia code:
http://code.google.com/p/skia/source/browse/trunk/include/core/Sk64.h  回复  更多评论   

# re: I64 拆开为 高32位为I32,低32位为U32 2011-10-27 16:08 coreBugZJ

@空明流转
和我预期的答案不太一样,我没把问题说清楚。因为有移植方面的考虑,所以才一时搞不定。

已经撤离主页。  回复  更多评论   

# re: I64 拆开为 高32位为I32,低32位为U32 2011-10-27 16:09 coreBugZJ

@hh
这些源码挺好的,学习了。  回复  更多评论   

# re: I64 拆开为 高32位为I32,低32位为U32 2011-10-27 23:07 空明流转

移植方面唯一的问题是大小头。这个稍微处理一下就好了。
skia的实现也一样有这个问题的。  回复  更多评论   

# re: I64 拆开为 高32位为I32,低32位为U32 2011-10-28 22:25 coreBugZJ

@空明流转
刚学嵌入式,移植方面还没有经验,谢谢啦!!  回复  更多评论   



只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理