我在这样的数组中有很多变量:short num = 7123;
. 该值始终为 4 位数字。如何着手把它变成 a = 7; b = 123;
?
我能想到的只是转换为 c-string 并将其剥离,但似乎效率不高。
b = num % 1000;
a = num / 1000;
C 标准库包含div()
可以在一个操作中完成此操作:
div_t r = div(num, 1000);
a = r.quot;
b = r.rem;
可以期望 C 标准库有一个优化的实现div()
,它将在一条机器指令中进行除法和余数(在具有这种指令的 CPU 上)。
short a = num / 1000;
short b = num % 1000;
它很简单:
a = num / 1000;
b = num % 1000;
// cast to integer should drop the decimal
a = (int) ( num / 1000 );
// use variable a to subtract the thousand place to zero
b = a - num;