Qual è il valore massimo di NSInteger?
Domanda
ho bisogno di memorizzare il valore massimo di un NSInteger in un NSInteger? Qual è la sintassi corretta per farlo?
Grazie.
Soluzione
Il valore massimo di una NSInteger è NSIntegerMax .
Altri suggerimenti
Il valore massimo per un NSInteger è NSIntegerMax
Mi ha portato un po 'di tempo per me a capire il motivo per cui mi è stato sempre un valore diverso da NSIntegerMax quando si utilizza NSUInteger !!
E il massimo per un NSUInteger è NSUIntegerMax
Per 32 bit e 64 bit, ci sono due convenzioni: a) ILP32 b) LP64
Il tempo di esecuzione a 32 bit utilizza una convenzione denominata ILP32, in cui interi, interi long, e puntatori sono quantità a 32 bit. Il runtime 64 bit utilizza la convenzione LP64; interi sono quantità a 32 bit, e interi lunghi e puntatori sono quantità a 64 bit. Queste convenzioni corrispondono al ABI per le applicazioni in esecuzione su OS X (e analogamente, le convenzioni Cocoa Touch corrispondere ai tipi di dati utilizzati in Cocoa), rendendo più semplice la scrittura di codice interoperabilità tra i due sistemi operativi.
Tabella 1-1 tutti i tipi interi comunemente usati nel codice Objective-C. Ogni voce comprende la dimensione del tipo di dati e il suo allineamento atteso in memoria. Le voci della tabella evidenziate indicano luoghi in cui differisce LP64 convenzione dalla convenzione ILP32. Queste differenze di dimensioni indicano luoghi in cui il comportamento del codice cambia quando compilato per il runtime a 64 bit. Il compilatore definisce il LP64 di macro durante la compilazione per il runtime a 64 bit.
per 64 bit gamma max per NSInteger è: LONG_MAX: 9223372036854775807