아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
어린알파카245
어린알파카24521.04.11

c# 큰 수 덧셈 코드 짜는 방법

Add("190000000000000000000008", "990000000000000000009999") == "1180000000000000000010007");

C#으로 위와 같이 커다란 숫자를 더하는 코드를 짜야 합니다. 문자열을 이용한다는 건 알겠는데 어떻게 해야 할지 감이 안 오네요... 어떻게 해야 할까요?

55글자 더 채워주세요.
답변의 개수1개의 답변이 있어요!
  • 탈퇴한 사용자
    탈퇴한 사용자21.04.11

    C#에는 BigInteger라는 이론적으로 해당 값에 상항이나 하한이 없는 임의의 크거나 작은 정수를 나타내는 형식이 있습니다.

    하지만 비교하는 대상이 문자열이기 때문에 더한 값을 다시 문자열로 반환을 해야 하겠습니다.
    아래 코드를 참고하세요.

    using System; using System.Numerics; namespace ConsoleApp2 { class Program { static void Main(string[] args) { bool result = Add("190000000000000000000008", "990000000000000000009999") == "1180000000000000000010007"; Console.WriteLine(result); // True } private static string Add(string value1, string value2) { var bigInt1 = BigInteger.Parse(value1); var bigInt2 = BigInteger.Parse(value2); var bigIntResult = bigInt1 + bigInt2; return bigIntResult.ToString(); } } }

    추가적으로 를 사용하기 위해서는 System.Numerics에 대한 어셈블리에 대한 참조를 추가해야 합니다.

    참고로 .NET Framework 4.0 부터 사용이 가능하며, 솔루션 탐색기에서 참조 추가를 해야 컴파일 에러가 발생하지 않습니다.

    System.Numerics 를 선택합니다.