我如何从NSUintger NSString获得BITS长度

时间:2009-08-05 02:01:06

标签: objective-c

我需要从NSUinteger或NSString获得BIT长度

我如何获得位长?

由于

3 个答案:

答案 0 :(得分:3)

如果我正确地理解了这个问题(这有点奇怪,但是......嘿......我也是):

sizeof(NSUInteger) * 8

[aString maximumLengthOfBytesUsingEncoding: ...] * 8

对于NSNal,NSValue的子类,事情变得有点棘手。你需要调用-objCType,然后从中确定比特长度。

答案 1 :(得分:1)

OP:我真的认为你需要组织你的想法,并提出一个单一的,连贯的问题,至少要概述你想要完成的事情。到目前为止,您已经问过至少四个问题,这些问题都是彼此之间的微小变化。

对于回答这个问题的其他人:从他的其他问题的背景来看,他正试图做一些bignum加密(ala RSA),或者其他一些bignum数论的东西(需要做powermod())。同样,基于他的其他问题的背景,他在这个问题中提出的问题是如何做floor(log2(X)) + 1其中X是任意数据类型(因此NSString)。

答案 2 :(得分:0)

我有一个RSA Exponent键值,它应该是一个大整数但我在NSString / NSdata中有完整值(UTF8编码)

作为RSA加密的一部分,我需要在Iphone环境中执行以下操作  1.我需要找到上述指数值的位长  2.我需要对指数和模数值进行算术运算,包括PowMod  3.我可以使用哪种数据类型(uint64_t或NSNUmber或NSUinteger)进行算术运算以及保存bigint结果值。  4.我需要去实现一个特定的bigint实现,我可以用bigint管理上面现有的iphone数据类型吗?  5.那些外部bigint实现期望将openssl或gmp lib移植到Iphone?