c++ 큰 숫자 계산 int만 사용해서
머슴밥
2023.04.01
사용자로부터 입력받은 int가 받을 수 있는 것보다 훨씬 큰 값을
계산해야하는데 어떻게 할 지 도무지 ㅠㅠ
엄청 큰 숫자를 사용자로부터 입력 받는게 아니라면 상관없는데
사용자로부터 입력받으니까 저장해놓을 곳도 없고...
게다가 data type은 int 밖에 사용 못 하고...
해결 가능한 문제일려나요 ㅠㅠ
-
새나
그런방법은 없습니다. 4바이트가 표현할수 있는 범위를 넘어간 값은 가리킬수 없는게 당연하죠. 문제가 정확히 뭐였는진 모르겠지만 사용자로부터 받는 입력을 다이렉트로int변수에 넣는게 조건이라면 제가 아는 지식범위에선 없는듯하네요 ㅎㅎ
-
내꽃
본문에도 적었듯이 data type은 오로지 int만 사용해야 되요 ㅠㅠ
-
그리
사용자로부터 입력을 받을때는 char* 즉, 문자열형태로 받으면 int로 바로 받을필요가 없어집니다. 그럼 일단 char 버퍼의 크기만큼 전부 다 받을 수 있는것이 되겠죠.
그럼 받는것은 해결됐고 계산해야하는데... int가 가질 수 있는 범위 (2^32 개의 범위)만큼 잘라내서 atoi 등으로 변환시키고 그걸 따로 계산한 뒤 합치는 과정을 하면...되지 않을라나요? ㅎㅎ