c++ - 将两个数字合二为一。示例 : 123 and 456 become 123456

标签 c++ parsing formatting

在 C++ 中,如何将两个整数组合(注意:不是相加)为一个大整数?

例如:

int1 = 123;
int2 = 456;

有没有一个函数可以把这两个数字变成123456?

编辑:

我没有解释清楚。如果 int2 为 0,那么答案应该是 123,而不是 1230。实际上,如果 int2 超过 32 位限制,则 int1(左侧的数字)只有一个值。所以当 int2 为 0 时, int1 为 0(或垃圾,我不确定)。

最佳答案

第一个数乘以十的幂是最小的,大于第二个数:

int combine(int a, int b) {
   int times = 1;
   while (times <= b)
      times *= 10;
   return a*times + b;
} 

关于c++ - 将两个数字合二为一。示例 : 123 and 456 become 123456,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2611081/

相关文章:

python - 始终打印 ] -100 之间的随机值; 100 [ 作为点前 2 位数字和点后 2 位数字,python 3

c++ - 按值将对象传递给 SubClass 构造函数导致 SuperClass 的构造函数不调用

c++ - 修改对象与修改该对象的拷贝

parsing - 当标题不在第一行时,Univocity 解析器如何读取 .csv 文件?

Excel VBA - 仅在顶部和底部添加边框的总行

java - 将字符串转换为 UUID 格式的字符串

c++ - 教程/手册如何在 autoexp.dat 中创建 Visualizer

c++ - 能被1到20的所有数整除的最小数?

python - 值错误: Could not convert string to float: Reading from DictReader

android - UIBezierPath 到 NSData 到服务器到 Android