Десятичное в двоичное - Цель C - PullRequest
0 голосов
/ 18 июня 2011
- (int)makeBinary:(int)toChange{

    int inNumber;
    int outNumber;
    NSString *outputString;
    outputString=@"";
    int temp;

    inNumber=toChange;

    for (int b=0; b<=7; b++) {
        temp=inNumber%2;
        inNumber=(inNumber-temp)/2;
        outputString=[outputString stringByAppendingFormat:@"%i", temp];
    }

        outNumber=[outputString intValue];

    return outNumber;
}

Это прекрасно работает, но как я могу изменить вывод?

Ответы [ 2 ]

1 голос
/ 18 июня 2011

Во-первых, int не является ни двоичным, ни десятичным, это целое число, двоичное и десятичное относятся к представлению числа.Вы можете сделать (в своем цикле):

outputString=[NSString stringWithFormat:@"%i%s", temp, outputString];

Но опять же, число - это то же самое число, представление может измениться.

0 голосов
/ 18 июня 2011

Эта функция не нужна. Компьютер уже хранит все целые в двоичном представлении. Разница лишь в том, как вы взаимодействуете с ними. Так, например, побитовые операции (|, &, ~, ^, <<, >>) работают с побитовым числом, в то время как другие операторы (+, -, *, /) не работают по-другому если вы думаете о целых числах как о десятичных или двоичных числах (черт возьми, вы можете представить, что они были в любой базе, которая вам нравится, и они все равно будут выполнять то же самое). Десятичное представление целых чисел - это просто хороший способ показать вам значение компьютера. Под ним все двоично.

...