2009-08-05 3 views
1

Ich muss die Bitlänge von NSUInteger oder NSStringWie erhalte ich die BITS Länge von NSUintger, NSString

Wie ich die Bitlänge bekommen bekommen?

Dank

+0

Oder Bits Länge von NSNumber –

+0

Offenbar im Zusammenhang mit dieser Frage: http://StackOverflow.com/Questions/1226949/ –

+0

Entschuldigung, Johne und Taylor Sie sind richtig. Ich werde meine Fragen kurz machen –

Antwort

3

Wenn ich die Frage richtig bin zu verstehen (es ist ein bisschen seltsam, aber ... hey ... also bin ich):

sizeof(NSUInteger) * 8 

[aString maximumLengthOfBytesUsingEncoding: ...] * 8 

Für NSNumber, eine Unterklasse von NSValue, die Dinge werden ein bisschen komplizierter. Sie müssen -objCType aufrufen und dann die Bitlänge bestimmen.

1

OP: Ich denke wirklich, dass Sie Ihre Gedanken ordnen und eine einzige, zusammenhängende Frage stellen müssen, die zumindest einen Überblick darüber gibt, was Sie erreichen wollen. Bisher haben Sie mindestens vier Fragen gestellt, die alle geringfügig voneinander abweichen.

An andere Leute, die diese Frage beantworten: Aus dem Kontext seiner anderen Fragen versucht er einige Bignum Crypto (ala RSA) oder andere bignum number theory Sachen zu machen (muss powermod() tun). Noch einmal, basierend auf dem Kontext seiner anderen Fragen, was er in dieser Frage fragt, ist, wie man floor(log2(X)) + 1 macht, wobei X ein beliebiger Datentyp ist (daher die NSString).

+0

Ich weiß nicht, wie wir das von seiner Frage oben zu erraten haben, aber ich habe einen Kommentar hinzugefügt, um die Frage zu klären. Wenn der Fragesteller auf eine korrekte Antwort hofft, sollte er eine klarere Frage stellen. –

0

ich einen RSA-Exponent Schlüsselwert haben, die angeblich ein BigInteger sein, aber ich habe es in NSString/NSData mit vollen Wert in (UTF8-codiert)

als Teil der RSA-Verschlüsselung, muss ich Folgendes tun im Iphone Env 1.Ich muss die Bitlänge des obigen Exponenten Wert finden 2.Ich muss aritmatische Operationen auf Exponenten und Modulwerte einschließlich PowMod 3.so welchen Datentyp kann ich verwenden (Uint64_t oder NSNUmber oder NSUinteger) für arithmetische Operationen sowie den bigint-Ergebniswert. 4. Muss ich für eine spezifische Bigint-Implementierung gehen, kann ich mit den oben genannten iPhone-Datentypen für Bigint umgehen? 5. diese externen Bigint-Implementierungen erwarten, Openssl oder gmp lib auf Iphone zu portieren?

Verwandte Themen