NSIntegerの最大値をNSIntegerに格納する必要がありますか?それを行うための正しい構文は何ですか?
ありがとう。
NSIntegerの最大値は NSIntegerMax です。
NSIntegerの最大値はNSIntegerMax
です
32ビットおよび64ビットの場合、2つの規則があります。a)ILP32 b)LP64
32ビットランタイムは、ILP32と呼ばれる規則を使用します。この規則では、整数、長整数、およびポインターは32ビット量です。 64ビットランタイムはLP64規則を使用します。整数は32ビット量であり、長整数とポインタは64ビット量です。これらの規則は、OS Xで実行されるアプリのABIと一致します(同様に、Cocoa Touchの規則は、Cocoaで使用されるデータ型と一致します)。これにより、2つのオペレーティングシステム間で相互運用可能なコードを簡単に記述できます。
表1-1 Objective-Cコードで一般的に使用されるすべての整数型。各エントリには、データ型のサイズとメモリ内での予想される配置が含まれます。強調表示されたテーブルエントリは、LP64規則がILP32規則と異なる場所を示しています。これらのサイズの違いは、64ビットランタイム用にコンパイルしたときにコードの動作が変化する場所を示します。コンパイラーは、64ビットランタイム用にコンパイルするときにLP64マクロを定義します。
nSIntegerの64ビット最大範囲の場合:LONG_MAX:9223372036854775807
NSUIntegerを使用しているときにNSIntegerMaxとは異なる値が取得される理由を理解するために少し時間を要しました。
NSUIntegerの最大値はNSUIntegerMaxです