Domanda

ho bisogno di memorizzare il valore massimo di un NSInteger in un NSInteger? Qual è la sintassi corretta per farlo?

Grazie.

È stato utile?

Soluzione

Il valore massimo di una NSInteger è NSIntegerMax .

Altri suggerimenti

Il valore massimo per un NSInteger è NSIntegerMax

( Fondazione Costanti di riferimento )

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

(anche da http://developer.apple.com/library/ios/#documentation/cocoa/reference/foundation/Miscellaneous/Foundation_Constants/Reference/reference.html )

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.

entrare descrizione dell'immagine qui

per 64 bit gamma max per NSInteger è: LONG_MAX: 9223372036854775807

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top