Мне нужно сохранить максимальное значение NSInteger в NSInteger? Каков правильный синтаксис?
Спасибо.
Мне нужно сохранить максимальное значение NSInteger в NSInteger? Каков правильный синтаксис?
Спасибо.
Максимальное значение NSInteger - NSIntegerMax.
Максимальное значение для NSInteger - NSIntegerMax
Мне понадобилось немного времени, чтобы понять, почему я получаю другое значение от NSIntegerMax при использовании NSUInteger!!
И максимальным для NSUInteger является NSUIntegerMax
Для 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