我有 12 位的长值作为算术运算的输出。所以我只想要中间的 4 值。例如,我得到 823954957346,我只希望 5495 存储在变量中。我可以用 C 或 C++ 做到这一点吗?
问问题
730 次
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 回答