문제
나는 사용 부호 정수할 수 있는 기간을 4 개 이상의 바이트는 어떤 유형을 사용해야 합니까?
PS 죄송에 대한"noobism"하지만 그것은 D
NB:내가 필요한 정수기 때문에 내가 할 일단 및 치료만을 위해 정수 부분과 이 방법이 유용 int
해결책
오,64 비트 정수... 기 일부를 찾을 수 있습니다 참조 데이터에 대한 유형 및 범위를...
다른 팁
단순히 포함 <stdint.h> 사용 int64_t 및 uint64_t(이후 서명되지 않은,당신이 원하는 uint64_t).
거기에 몇 가지 다른 유용한 개에서는 헤더 다음과 같은 적어도 개(uint_least64_t 은 형식이 최소 64 비트)그리고 빠른 변형(uint_fast64_t 가장 빠른 정수 입력에서 최소 64bits).또한 매우 유용한 intptr_t/uintptr_t(을 위해 충분히 큰 void*)를 포함하고 intmax_t/uintmax_t(가장 큰 타입)으로 구성되어 있습니다.
그리고 몇 가지 이유로 귀하의 컴파일러가 없 <stdint.h> (이후 IIRC 그것은 C 표준,C++것),사용할 수 있는 부스트 후원/cstdint.hpp (사용할 수 있는 경우에도 당신이 <stdint.h>기 때문에,그 경우 그것은 단순히 기대하는 컴파일러의 헤더).
을 선택:
long long
(-9,223,372,036,854,775,808 을 부터 9,223,372,036,854,775,807)
unsigned long long
:(0~18,446,744,073,709,551,615)
필요할 경우 정말 긴 정수(임의의 정밀),시도해 볼 수도 있습니다 gmp 라이브러리는 또한 제공합니 C++클래스에 따라 인터페이스입니다.
unsigned long long-그것이 최소 64 비트 길이