`
- 浏览:
399279 次
- 性别:
- 来自:
北京
-
大数加法
-
-
-
-
public
static
void
main(String[] args) {
-
BigInt b = new
BigInt();
-
b.add("999999999999444599999999999999999"
,
"99223333333223455559"
);
-
}
-
-
public
String add(String a, String b) {
-
-
if
(!a.matches(
"\\d+"
) || !a.matches(
"\\d+"
)) {
-
return
null
;
-
}
-
final
int
BASE =
10
;
-
int
lenA = a.length();
-
int
lenB = b.length();
-
int
maxLen, partialSum, carry =
0
;
-
maxLen = (lenA > lenB) ? lenA : lenB;
-
StringBuffer sum = new
StringBuffer();
-
int
temA, temB =
0
;
-
for
(
int
i =
0
; i < maxLen; i++) {
-
if
(i >= lenA) {
-
temA = 0
;
-
} else
{
-
temA = Integer.valueOf(a.charAt(lenA - i - 1
) -
48
);
-
}
-
if
(i >= lenB) {
-
temB = 0
;
-
} else
{
-
temB = Integer.valueOf(b.charAt(lenB - i - 1
) -
48
);
-
}
-
partialSum = temA + temB + carry;
-
carry = partialSum / BASE;
-
sum.append(partialSum % BASE);
-
}
-
if
(carry ==
1
)
-
sum.append(carry);
-
System.out.println(a + " + "
+ b +
" = "
+ sum.reverse().toString());
-
return
sum.reverse().toString();
-
}
ASCII:
0:48
A:65
a:97
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
采用单链表的做的,以一万分界点,每个节点有四位数
字符串实现大数相加,首先两个数是用计算机的位数不能表示出来的,然后我们用字符数组进行操作!
该资源是用C语言编写两个超过100位的大数相加
js代码-两个大数相加
几个小函数,为初学者提供一点点帮助,希望孩子们路越走越好。
主要介绍了java编程实现两个大数相加代码示例,具有一定参考价值,需要的朋友可以了解下。
该文件为C/C++课程对于大数相加问题的解决, /*大数相加*/ /*在一般语言中对整型数都有个最大限制, 先给出两个超出正常范围的十进制数 对其进行求和,带进位的加法*/
用c++编写的大数相加,可以实现任意两个长度的大数相加求和。
用栈实现了两个大数相加,解决了long类型的越界问题,用于学习数据结构,C++实现的demo,内含源代码,可以运行。
使用string类型实现大数...先将两个加数存为String类型,再从两个加数的末尾开始,一个数一个数的相加,跟做普通加法一个原理,只是这里需要注意的是,两个加数的类型为字符串,需要相应的转换才能相加,在代码有描述。
C++实现的大数相加,有很好的类的封装性
当计算机的类型无法满足需要时,如50位的数字无法用double,int等类型显示时,只有自己写程序实现大数相加功能
#include #include using namespace std; class ds { public: void equal(string x,string y,int...{//两个字符串一样长的时候; int flag =0; int i; int sum =0; int k = 0; int add[1000]; for(i=0;i;i++)
输入包括两个数a和b,其中a和b的位数不超过1000位。
Java 语言实现的大数相加程序。一个简单算法的实现。此前,在学校学习时,用C++编码解决过这个问题,当时还没写出来。
实现2个80位左右的大数相加,暂时不支持负数,只支持正整数。
两个 超大数 相加,之和。 用 c 语言 来编写。
C语言 实现大数加法,在加法运算的时候假如有两个10000位数的两个数进行相加,那么用int long double型都装不下这么多位数,所以采用char数组来实现加法运算,解决精度的问题
一些和数学有关的算法题目,比如两个大数相加,大数的阶乘