拆分一个数字型CString 然后分别相乘

来源:百度知道 编辑:UC知道 时间:2024/06/07 12:36:45
比如SCtring str1 = "123456" 用mid拆分成123和456并转换为int以后再和另一个字符串里拆分出来的数相乘
一楼的大侠没看清我的问题吧?我会拆分 也会转换,要的是怎么相乘,可能我没说清楚 SCtring str1 = "123456789" SCtring str1 = “46132486” str1 和str2 相乘,因为整数型的都装不下,所以要分开来,最后拼接在字符串里

本来你就没写清楚撒!

你给的分太少了,不想跟你写!
大概思路告诉你吧。

先写一个函数,实现两个数字字符串相加;

然后你可以把要相乘的2个数字字符a,b串分段;比如int型式32位。那你就写2个循环,从a,b的个位开始,以15位为一段, 15位×15位,肯定小于32位的。所以不会溢出;分成N,M段之后,再分别相乘,当然如果a第一段与b第二段相乘的话,后面肯定需要多加15个0的咯。如果是与b第三段相乘,当然需要加15*2=30个0的,依次类推。把结果段段相乘的结果转化成字符串,然后通过你写好的数字字符串相加 函数加起来。即得结果!

当然你也可以位位相乘,道理同样!

ab
× cd
----------------
ad bd
ac bc
----------------
ac (ad+bc) bd
(上面的最终结果还要考虑进位)

自己看吧,看得懂OK。