В Java long
всегда составляет 64 бита.В C и Objective-C long
может быть 64-битным, или 32-битным, или (в менее распространенных случаях) может быть чем-то совершенно другим;стандарт C не определяет точную битовую ширину.
В OS X NSInteger
- это 64 бита на 64-битных платформах и 32 бита на 32-битных платформах.32-битные платформы Mac встречаются все реже, поэтому вы, вероятно, можете использовать NSInteger
и все будет в порядке.
Однако, если вы всегда хотите получить 64-битное целое число, вы, вероятно, захотитеиспользовать тип данных int64_t
, определенный в stdint.h
.