Iphone objective-c中的二进制到十进制

Iphone objective-c中的二进制到十进制,iphone,objective-c,xcode,type-conversion,Iphone,Objective C,Xcode,Type Conversion,我想将十进制数27转换成二进制,首先转换数字2,将其二进制值放入数组,然后转换数字7,将其二进制数放入该数组。我该怎么办? 提前谢谢这是我的电话。从右到左工作最容易。取模10的值(C/C++/ObjC中的%运算符)并将其放入数组中。然后将该值除以10(C/C++/ObjC中的/运算符)。继续,直到值为零。如果您首先需要最有效的数字,请反转数组。如果我正确理解您的问题,您希望从27转到类似{0010010111}的数组 如果您了解基本系统是如何工作的(特别是十进制),这应该很简单 首先,当你的数字


我想将十进制数27转换成二进制,首先转换数字2,将其二进制值放入数组,然后转换数字7,将其二进制数放入该数组。我该怎么办?
提前谢谢

这是我的电话。从右到左工作最容易。取模10的值(C/C++/ObjC中的
%
运算符)并将其放入数组中。然后将该值除以10(C/C++/ObjC中的
/
运算符)。继续,直到值为零。如果您首先需要最有效的数字,请反转数组。

如果我正确理解您的问题,您希望从
27
转到类似
{0010010111}
的数组

如果您了解基本系统是如何工作的(特别是十进制),这应该很简单

首先,当你的数字除以10时,你会找到剩余的数字。在这种情况下,您的号码
27
将产生
7
。 然后将数字除以10,然后将其存储回该变量中。您的号码
27
将导致
2

你这样做了多少次

你这样做,直到你没有更多的数字。 你能有多少个数字? 如果你想一想数字100,它有3个数字,因为这个数字需要记住数字中有一个10^2。另一方面,99则不然

上一个问题的答案是输入数字的1+层对数基数10

100的对数是2,加上1是3,等于位数。 对数99比2小一点,但它是1,加上1等于2

在java中是这样的:

int input = 27;
int number = 0;
int numDigits = Math.floor(Log(10, input)) + 1;
int[] digitArray = new int [numDigits];

for (int i = 0; i < numDigits; i++) {
    number = input % 10;
    digitArray[numDigits - i - 1] = number;
    input = input / 10;
}

return digitArray;
祝你好运

double Log( double base, double value ) {
    return Math.log(value)/Math.log(base);
}