NSInteger Typen
Ich würde gerne wissen, was die differecnce zwischen Integer 16 Integer 32 Integer 64, und der Unterschied zwischen einem signed integer und unsigned integer(NSInteger und NSUInteger)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mir nicht sicher, genau welche Art du meinst mit "Integer 16", "Integer 32", und "Integer " 64", in der Regel aber diejenigen, die zahlen beziehen sich auf die Größe in bits des integer-Typ.
Den Unterschied zwischen einem signed und einem unsigned integer ist der Wertebereich, den Sie repräsentieren. Zum Beispiel, eine zweier-Komplement-signed 16-bit integer kann zahlen zwischen 32.768 und 32.767 liegen. Eine vorzeichenlose 16-bit Ganzzahl darstellen kann Werte zwischen 0 und 65.535.
Für die meisten Computer heute im Einsatz, eine Ganzzahl der Breite n darstellen kann die Werte [-2n-1,2n-1) und eine vorzeichenlose Ganzzahl der Breite n darstellen können Werte [0,2n).
NSInteger und NSUInteger Apple ' s eigene integer-Datentypen. Der erste ist unterzeichnet, während die letztere ist nicht signiert. Auf 32-bit-builds NSInteger ist typedef würde da ein int ist, während auf 64-bit-builds es ist typedef würde als eine lange. NSUInteger ist typedef würde da ein unsigned int 32-bit und unsigned long für 64-bit. Unterzeichnet Typen decken den Bereich [-2^(n-1), 2^(n-1)] wobei n die bit-Wert-und unsigned-Typen decken den Bereich [0, 2^n].
Wenn die Codierung für ein einzelnes, in sich geschlossenes Programm, mit NSInteger oder NSUInteger sind als die beste Praxis für zukunftssichere Plattform gegen etwas ändert. Es ist nicht die beste Praxis beim Umgang mit fester Größe Daten braucht, wie mit binären Dateiformate oder die Vernetzung, weil sich die benötigte Feldbreite sind zuvor definierte und konstant, unabhängig von der Plattform-bit-Ebene. Dies ist, wo die fixed-size-Typen definiert in stdint.h (d.h., uint8_t, uint16_t, uint32_t, etc) zum Einsatz kommen.
Unsigned vs-Ganzzahl -
Unsigned wird normalerweise verwendet, wo Variablen sind nicht erlaubt negative zahlen. Zum Beispiel, während die Schleife durch ein array, ist es immer sinnvoll/gut lesbar, wenn die array variable subscript ist ein unsigned int und loop-through, bis die Länge des Arrays.
Auf der anderen Seite, wenn die variable negative zahlen haben, dann deklarieren Sie die variable als signed int. Integer-Variablen sind standardmäßig signiert.
Haben Sie einen Blick auf die Stiftung Datentypen. NInteger und NSUInteger und typedef für int und unsigned int.
Aus wikipedia
was bedeutet, dass Sie normalerweise verwenden, ein bit zu Kodieren, signieren, wodurch die Bandbreite in der Zahl, die Sie darstellen können.