-1

我有 12 位的长值作为算术运算的输出。所以我只想要中间的 4 值。例如,我得到 823954957346,我只希望 5495 存储在变量中。我可以用 C 或 C++ 做到这一点吗?

4

2 回答 2

2

你可以使用类似的东西:

main() {
    unsigned long i = 823954957346;
    printf ("%lu\n", i);
    printf ("%lu\n", i / 10000 % 10000); 
}

输出:

823954957346
5495
于 2012-11-17T06:41:24.367 回答
2

如果您真的在谈论位,请右移 4 位,然后使用按位与屏蔽四个低位。我的 C++ 有点生锈,但它是这样的:

number >> 4 & 15

如果您说的是数字,请除以 10000,然后取数字 mod 10000,例如:

number / 10000 % 10000

简单的。

于 2012-11-17T06:41:54.190 回答