将十进制数转换为二进制Objective-C

时间:2014-03-15 16:28:59

标签: objective-c algorithm binary decimal converter

您好我已经制作了一个转换二进制,十六进制和十进制值的IOS应用程序。除了我的十进制到二进制转换之外,一切正常。这就是我所拥有的。它返回0和1但是太多了。任何人都可以告诉我为什么这是一个更好的方法或帮助我?

NSString *newDec = [display text]; //takes user input from display
NSString *string = @"";
NSUInteger x = newDec;
int i = 0;
while (x > 0) {
    string = [[NSString stringWithFormat:@"%u", x&1] stringByAppendingString:string];
    x = x>> 1;
    ++i;
}
display.text = string; //Displays result in ios text box 

1 个答案:

答案 0 :(得分:4)

试试这个:

NSUInteger x = [newDec integerValue];

下次不要忽略编译器的“与Integer转换不兼容的指针”提示......

说明:Afaik,将对象赋给int,实际上是将对象的地址分配给该整数,而不是字符串的内容(这就是你想要的)。