【发布时间】:2013-11-30 12:54:02
【问题描述】:
-(NSString *)toBinary:(NSUInteger)input
{
if (input == 1 || input == 0)
return [NSString stringWithFormat:@"%u", input];
return [NSString stringWithFormat:@"%@%u", [self toBinary:input / 2], input % 2];
}
NSString *hex = txtHexInput.text;
NSUInteger hexAsInt;
[[NSScanner scannerWithString:hex] scanHexInt:&hexAsInt];
NSString *binary = [NSString stringWithFormat:@"%@", [self toBinary:hexAsInt]];
txtBinaryInput.text = binary;
上面的代码很好用……直到你需要超过 32 位。任何将十六进制转换为二进制大于 32 位值的指针?谢谢。
【问题讨论】:
-
使用
uint64_t获得64位。除此之外,您还需要描述如何获得更大的整数。 -
我现在正在研究这个...有没有一种有效的方法可以将它合并到我当前的代码中?