2017-02-19 9 views
1

매우 큰 데이터 유형을 사용하는 방법이 필요합니다. int가 일반적으로 4 바이트인데 반해, 데이터 유형이 536, 870, 912 바이트 또는 더 높을 필요가 있습니다. 문자열로 변환, 추가, 빼기, 곱하기, 나눗셈 등을 수행 할 수 있어야하기 때문에 배열을 사용할 수 없습니다.C++에서 임의로 많은 수를 얻는 방법은 무엇입니까?

대형 데이터 형식을 만들거나 사용할 수 있습니까? uint4294967296_t가 필요합니다 : P

참고 구조체를 bitfields와 함께 사용해 보았지만 충분히 크지 않고 그 값을 사용하여 값을 변환 할 수 없습니다.

+4

는 [라이브러리]을 사용하여 (https://gmplib.org/), 아마? –

+1

Greg는 GIMP 라이브러리를 언급하고 있습니다.이 라이브러리는 일반적으로 권장됩니다. –

+0

도서관의 권고 사항이 현재 SO에서 주제를 벗어나기 때문에 투표를 종료해야합니다. –

답변

2

Bignumber 라이브러리를 사용하여 간단하게 TTMath를 선호합니다. 여기서 찾을 수 있습니다 Link to tttmath. TTTmath는 많은 수의 연산을 허용하지만 사용자가 직접 toString 메서드를 만들어야 할 수도 있습니다. 여기

Samples는 페이지 사용 TTTmath의 예이다 :

#include <ttmath/ttmath.h> 
#include <iostream> 

int main() 
{ 
ttmath::UInt<2> a,b,c; 

    a = "1234"; 
    b = 3456; 
    c = a*b; 

    std::cout << c << std::endl; 
} 
Listing nr 1 
+0

도서관 추천은 설명이 아니고 대답이어야합니다. 이것을 플래그로 표시했습니다. (즉, 잘하면 모드가 댓글로 변환됩니다.) –

+2

왜? 그는 큰 숫자를 구현하는 방법을 묻지 않았지만이를 사용하는 방법을 물었습니다. 따라서 도서관 추천서는 유효한 답변이어야합니다. – zett42

+0

도서관 추천을 요청하는 질문은 SO에 관한 주제와 관련이 없습니다 (가까운 가까운 이유 중 하나입니다). –