Подтвердить что ты не робот

Каково максимальное значение NSInteger?

Мне нужно сохранить максимальное значение NSInteger в NSInteger? Каков правильный синтаксис?

Спасибо.

4b9b3361

Ответ 1

Максимальное значение NSInteger - NSIntegerMax.

Ответ 4

Для 32-разрядных и 64-битных существует два соглашения: а) ILP32 б) LP64

32-разрядная среда выполнения использует соглашение ILP32, в котором целые числа, длинные целые числа и указатели представляют собой 32-битные величины. 64-битная среда выполнения использует соглашение LP64; целые числа - 32-битные величины, а длинные целые числа и указатели - 64-битные величины. Эти соглашения соответствуют ABI для приложений, работающих на OS X (и аналогичным образом соглашения Cocoa Touch соответствуют типам данных, используемым в Cocoa), что упрощает запись совместимого кода между двумя операционными системами.

Таблица 1-1 всех целых типов, обычно используемых в коде Objective-C. Каждая запись включает в себя размер типа данных и его ожидаемое выравнивание в памяти. Выделенные записи таблицы указывают места, где соглашение LP64 отличается от соглашения ILP32. Эти различия в размерах указывают места, в которых поведение ваших кодов изменяется при компиляции для 64-битной среды выполнения. Компилятор определяет макрос LP64 при компиляции для 64-разрядной среды выполнения.

введите описание изображения здесь

для 64-битного максимального диапазона для NSInteger: LONG_MAX: 9223372036854775807