Stack Overflow 用许多其他语言回答了这个问题,但没有用 C 语言回答。所以我想我会问,因为我有同样的问题。
C语言中如何连接两个整数?
Example:
x = 11;
y = 11;
我想要 z 如下:
z = 1111;
其他示例尝试使用字符串来执行此操作。没有字符串的情况下有什么方法可以做到这一点?
我正在寻找一种在 C 中执行此操作的有效方法,因为在我的特定用法中,这将进入代码的时间关键部分。
提前致谢!
unsigned concatenate(unsigned x, unsigned y) {
unsigned pow = 10;
while(y >= pow)
pow *= 10;
return x * pow + y;
}
证明编译/正确性/速度 http://ideone.com/hbWgE
我避免log10
and pow
函数,因为我很确定它们使用浮点并且速度很慢,所以这个might在您的机器上运行得更快。或许。轮廓。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)