将短整数的前 3 位和后 3 位拼接起来?

发布于 2024-12-28 19:35:51 字数 144 浏览 3 评论 0原文

我的数组中有很多变量,如下所示:short num = 7123;。该值的长度始终为 4 位数字。如何将其变成 a = 7; b = 123;

我能想到的就是转换为 c 字符串并将其剥离,但似乎效率不高。

I have lots of variables in an array like this: short num = 7123;. The value is ALWAYS 4 digits long. How to go about turning this into a = 7; b = 123;?

All I can think of is converting to c-string and stripping it off, but doesn't seem efficient.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

香草可樂 2025-01-04 19:35:51
b = num % 1000;
a = num / 1000;
b = num % 1000;
a = num / 1000;
爱*していゐ 2025-01-04 19:35:51

C 标准库包含 div(),它可以在一个操作中完成此操作:

div_t r = div(num, 1000);
a = r.quot;
b = r.rem;

C 标准库预计有一个 div() 的优化实现,它将执行以下操作:除法和余数在一条机器指令中(在具有此类指令的 CPU 上)。

The C standard library contains div() which can do this in one operation:

div_t r = div(num, 1000);
a = r.quot;
b = r.rem;

The C standard library can be expected to have an optimised implementation of div() that will do the division and remainder in one machine instruction (on CPUs that have such an instruction).

好听的两个字的网名 2025-01-04 19:35:51
short a = num / 1000; 
short b = num % 1000;
short a = num / 1000; 
short b = num % 1000;
荒人说梦 2025-01-04 19:35:51

很简单:

a = num / 1000;
b = num % 1000;

It's as simple as:

a = num / 1000;
b = num % 1000;
臻嫒无言 2025-01-04 19:35:51
// cast to integer should drop the decimal
a = (int) ( num / 1000 );

// use variable a to subtract the thousand place to zero
b = a - num;
// cast to integer should drop the decimal
a = (int) ( num / 1000 );

// use variable a to subtract the thousand place to zero
b = a - num;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文