문제
A+B를 출력하면 되는데 이게 숫자가 좀 크다.
Reference
https://beyond1.tistory.com/65 (10757)큰 수 A+B)
이건 C언어 풀이
https://ko.wikipedia.org/wiki/Int_(C_프로그래밍_언어) (int(C))
https://dojang.io/mod/page/view.php?id=30 (코딩도장-7.0 정수 자료형 사용하기)
C언어는 왜 풀이가 복잡한지 알아보기 위해 자료형 검색했음…
풀이
import sys
a,b=map(int,sys.stdin.readline().split())
print(a+b)
파이썬은 이거 넣으면 된다. input보다 sys.stdin.readline()이 빨라서 저거 씀.
그럼 도대체 C언어는 왜!!! 풀이가 저런가 자료형을 찾아봤는데…
- Char: 8bit
- Short: 16bit (32bit CPU)
- Int: 16bit
- Long: 32bit
- Long long: 64bit (32bit CPU)
다른 건 모르겠고 2^64보다 크면 에러 각 나왔죠. (잊지 말자, 컴퓨터는 손가락이 두 개다)
signed와 unsigned는 커버 범위가 다른데, signed의 경우 맨 앞에 있는 게 부호비트로 빠져서 그렇다. signed Char의 경우 1 000 0000(-128)~0 111 1111(127)까지 커버가 되고 unsigned는 부호비트가 없이 0000 0000(0)~1111 1111(255)까지 커버되는 방식. 그러니까 unsigned 롱롱 기준으로 2^64까지 들어오는데 거기다가 10^10000 이런거 넣으면 컴퓨터가 미쳤습니까 휴먼 한다.
Reply