从毫秒到小时:分钟:秒:毫秒数字的优化转换?

qrtLs

假设循环是给定的约束,您有什么建议可以优化从毫秒msecsOut到 9 位别名的转换iX: 8H 7H 6M 5M 4S 3S 2MS 1MS 0MS,取模可能是次优的,到目前为止我有:(
我们正在 XILINX 的 Spartan-3 FPGA 系列上使用 systemc 进行编程)

int msecsOut = 1234123412;
// iX: 8H 7H 6M 5M 4S 3S 2MS 1MS 0MS
for (int i = 8; i >= 0; --i) {
    int digitOut = -1;
    if (i == 8) {
        digitOut = msecsOut / (1000 * 60 * 60 * 10);
        msecsOut = msecsOut % (1000 * 60 * 60 * 10);
    } else if (i == 7) {
        digitOut = msecsOut / (1000 * 60 * 60);
        msecsOut = msecsOut % (1000 * 60 * 60);
    }  else if (i == 6) {
        digitOut = msecsOut / (1000 * 60 * 10);
        msecsOut = msecsOut % (1000 * 60 * 10);
    }  else if (i == 5) {
        digitOut = msecsOut / (1000 * 60);
        msecsOut = msecsOut % (1000 * 60);
    }  else if (i == 4) {
        digitOut = msecsOut / (1000 * 10);
        msecsOut = msecsOut % (1000 * 10);
    }  else if (i == 3) {
        digitOut = msecsOut / (1000);
        msecsOut = msecsOut % (1000);
    }   else if (i == 2) {
        digitOut = msecsOut / (100);
        msecsOut = msecsOut % (100);
    }   else if (i == 1) {
        digitOut = msecsOut / (10);
        msecsOut = msecsOut % (10);
    }   else if (i == 0) {
        digitOut = msecsOut / (1);
    }
    cout << digitOut << " ";//debug only
}
cout<<endl;//debug only
杰洛德42

您可能会i通过使用数组摆脱测试(这会使您的循环无用)

int msecsOut = 1234123412;
const int factors[] = {
      1000 * 60 * 60 * 10,
      1000 * 60 * 60,
      1000 * 60 * 10,
      1000 * 60,
      1000,
      100,
      10
};
const char* symbols[] = {"H", "H", "M", "M", "S", "S", "MS", "MS"};
// iX: 8H 7H 6M 5M 4S 3S 2MS 1MS 0MS
for (int i = 0; i != sizeof(factors) / sizeof(*factors); ++i) {
    const int digitOut = msecsOut / factors[i];
    msecsOut = msecsOut % factors[i];
    std::cout << digitOut << symbols[i] << " ";
}
std::cout << msecsOut << "MS" << std::endl;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

分钟,秒到毫秒的转换

来自分类Dev

将毫秒转换为小时:分钟:Coldfusion中的秒数?

来自分类Dev

从NSTimeInterval迅速转换为小时,分钟,秒,毫秒

来自分类Dev

将毫秒转换为小时,分钟和秒python

来自分类Dev

Bash脚本将毫秒转换为天:小时:分钟:秒:毫秒

来自分类Dev

PHP / MySQL毫秒至小时:分钟:秒

来自分类Dev

将毫秒相加得到小时、分钟、秒和毫秒

来自分类Dev

Java / Android:原生API可以以毫秒为单位转换小时,分钟和秒

来自分类Dev

时间戳(毫秒)不能正确转换为小时,分钟和秒?

来自分类Dev

Java / Android:原生API可以以毫秒为单位转换小时,分钟和秒

来自分类Dev

如何使小时,分钟,秒和毫秒为零?

来自分类Dev

如何以天:小时:分钟:秒为单位显示毫秒

来自分类Dev

如何使小时,分钟,秒和毫秒为零?

来自分类Dev

如何显示时间,例如小时:分钟:秒:毫秒:微秒?

来自分类Dev

从分钟到小时的转换:分钟:秒

来自分类Dev

如何将毫秒转换为天/小时/分钟

来自分类Dev

在moment.js中将毫秒转换为分钟和秒

来自分类Dev

Javascript将秒转换为分钟毫秒格式

来自分类Dev

转换毫秒到公历

来自分类Dev

NSNumber时间戳到NSDate的毫秒数

来自分类Dev

日期到 nifi 中的毫秒数

来自分类Dev

如何以小时,分钟,秒和毫秒为单位对数据框中的时间进行排序?

来自分类Dev

SimpleDateFormat显示错误的分钟,秒和毫秒

来自分类Dev

从毫秒到DateTime格式的转换

来自分类Dev

将毫秒转换为秒,分钟不四舍五入

来自分类Dev

将分钟转换为毫秒Java / android

来自分类Dev

取得毫秒数

来自分类Dev

设置秒表的毫秒数

来自分类Dev

Android将毫秒转换为小时

Related 相关文章

热门标签

归档