【发布时间】:2011-09-04 03:17:09
【问题描述】:
我正在开发一个具有 32 位长整数的小型嵌入式系统。对于一项计算,我需要以毫秒为单位输出自 1970 年以来的时间。自 1970 年以来,我可以得到 32 位无符号长秒的时间,但我如何将其表示为 64 位不。如果我最大的 int 只有 32 位?我相信stackoverflow会有一个狡猾的答案!我正在使用接近标准 C 的动态 C。我有一些来自另一个系统的示例代码,该系统具有 64 位长的长数据类型:
long long T = (long long)(SampleTime * 1000.0 + 0.5);
data.TimeLower = (unsigned int)(T & 0xffffffff);
data.TimeUpper = (unsigned short)((T >> 32) & 0xffff);
【问题讨论】:
-
您使用什么语言?
-
它是动态 C,一个用于嵌入式系统的 C 的古怪超集
标签: 64-bit integer 32-bit multiplication