2012-08-26 3 views
0

unsigned int은 기본적으로 unsigned long int (32 비트)을 의미한다고 생각했습니다. 마찬가지로 unsigned long은 기본적으로 (32 비트) unsigned long int을 의미한다고 생각했습니다. NSNumber (unsignedIntValueunsignedLongValue)의 두 선택기가 왜 데이터 유형 비트 길이가 걱정 되야합니까?NSNumber에는 unsignedIntValue 및 unsignedLongValue가 있습니다. 나는 그들이 같은 줄 알았지?

감사합니다.

답변

4

LP64 (Mac OS 64 비트)에서 long은 64 비트 폭이고 int는 32 비트 만 있습니다.

+0

그래서 '부호없는 long int'는 Mac OS 64 비트에서 64 비트입니까? 그게 정말 이상합니다. – Brett

+0

64 비트를 갖는 데 오랫동안 이상한 점은 무엇입니까? –

+0

''unsigned long long int'가 64 비트가 될 것으로 예상했는데 이상한 점은별로 없다고 생각했습니다. – Brett

2

OSX 및 iOS의 아키텍처가 제한적이라는 것을 알고 있지만 일반적으로 표준에서 보장되는 기본 상대적인 순서 이외의 정수 크기에 대해서는 가정하지 말아야합니다.

특정 크기의 정수 값이 필요한 경우 uint8_t, uint16_t, uint32_t 및 uint64_t 유형을 사용하십시오.