일반적으로 다수의 구현은 Biginteger와 Bigdecimal의 두 가지 방법을 통해 수행됩니다. 이 두 가지 방법은 불변의 임의의 정밀 정수와 불변의 서명 된 임의의 정밀 소수점 숫자 (부동 소수점 번호)를 나타냅니다. 주로 고정밀 계산에 사용됩니다. 이 두 클래스는 Java에서 간단하게 고정화 된 작업을합니다. 그러나이 기사는 위의 두 가지 방법을 통해 Java에서 대형 작업을 소개하지 않습니다.
주요 아이디어는 다음과 같습니다. 문자열에 두 개의 숫자를 넣은 다음 각 숫자를 꺼내어 배열에 넣고 마지막 비트에서 계산을 시작하고 추가를 계산하고 캐리가 운반되는지 여부를 결정합니다. 캐리는 이전 비트 +1입니다. 길이가 초과되면 새 배열에 복사하십시오.
코드는 다음과 같습니다.
공개 클래스 bigintadd {private int [] array; // 배열 선언 // 대량 숫자의 추가를 계산하는 함수 공개 정적 문자열 bigadd (bigintadd fisrtnum, bigintadd secondnum) {string result = ""; boolean false = // 배열이 바운드 int [int [] arrayon; NULL; // 계산 결과를 배열 배열에 넣습니다. 계산 결과는 (fisrtnum.instance (). length> = secondnum.instance (). length) {arrayone = fisrtnum.instance (); arraytwo = secondnum.instance (); secondnum.instance (); arraytwo = fisrtnum.instance ();} for (int i = 0; i <arraytwo.length; i ++) {if (arrayone [i] + arraytwo [i] <10) {// arrayone [i] = at [i] + arraytwo [i] + + araytwo [i]; (arrayone [i] + arraytwo [i]> = 10) {// arrayone [i] = arrayone [i] + arraytwo [i] -10; if ((i + 1) <arrayone.length) {arrayone [i + 1] = arrayone [i + 1] + 1; // 1} only {// when when when renge in when in when in when in when on when in when in when Arraythree falg = true; arraythree = new int [arrayone.length + 1]; System.ArrayCopy (Arrayone, 0, Arraythree, 0, arrayone.length); Arraythree [arrayone.length] = 1; // 가장 높은 배열을 지정하고, Carry}}}}}}}}}}}}}}}}}}}}}}}}}}}. {for (int i : arraythree) {result += i;}} else {or (int i : arrayone) {result += i;}} // 결과를 되돌리고 새로운 stringbuffer (result) .reverse ();} // 배열 메소드를 초기화 개인 int [] {return atray; {StringBuffer sb = new StringBuffer (num); String String = sb.reverse (). toString (); // 계산 배열을 용이하게하기 위해 문자열 반전을 구현합니다. + 1);}} public static void main (String [] args) {문자열 result = bigintadd.bigadd (new bigintadd ( "521111111" "), New BigIntadd ("40999999999 "); System.out.println (resat);}}결과:
요약
위의 것은 Java 프로그래밍에 대한이 기사의 전체 내용입니다. 두 개의 많은 숫자가 추가 된 코드 예제를 구현합니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!