我以爲默認unsigned int
意思是unsigned long int
(32位)。同樣,我認爲unsigned long
默認爲unsigned long int
(32位)。爲什麼NSNumber上的兩個選擇器(unsignedIntValue
和unsignedLongValue
),還是應該擔心數據類型位的長度?NSNumber具有unsignedIntValue和unsignedLongValue。我以爲他們是一樣的?
謝謝!
我以爲默認unsigned int
意思是unsigned long int
(32位)。同樣,我認爲unsigned long
默認爲unsigned long int
(32位)。爲什麼NSNumber上的兩個選擇器(unsignedIntValue
和unsignedLongValue
),還是應該擔心數據類型位的長度?NSNumber具有unsignedIntValue和unsignedLongValue。我以爲他們是一樣的?
謝謝!
在LP64(Mac OS 64 Bit)上,long是64位寬,而int只有32位。
我知道OSX和iOS的體系結構有限,但一般來說,除了標準中保證的基本相對順序外,您不應該對整數大小做任何假設。
如果您確實需要特定大小的整數值,請使用uint8_t,uint16_t,uint32_t和uint64_t類型。
因此,一個'unsigned long int'在Mac OS 64位上是64位的?那真的很奇怪。 – Brett
長64位有什麼奇怪的? –
我期望'unsigned long long int'是64位......我不認爲這有什麼奇怪的。 – Brett