Objective-C математическая функция - PullRequest
0 голосов
/ 27 декабря 2011

Я хочу возвести в квадрат число с помощью pow (). Итак, pow (3,2) должно быть 9. Но он показывает 8 в моем приложении iOS Calculator. Вот мой код:

else if([opertaion isEqualToString:@"sqrt"])
    {

       result=pow([self popOperand],[self popOperand]);
    }

метод

-(double)popOperand
{
    NSNumber *operandObject = [self.operandStack lastObject];
    if(operandObject)[self.operandStack removeLastObject];
    return [operandObject doubleValue];
}

Во-первых, я новичок в программировании на iOS.

Заранее спасибо.

Ответы [ 3 ]

3 голосов
/ 27 декабря 2011

Я полагаю, вы просто думаете о своих операндах задом наперед.2 ^ 3 == 8.

0 голосов
/ 27 декабря 2011

Кажется, вы пытаетесь выдвинуть первый номер, а затем последний. Таким образом, вместо getPower (3,2) будет 2 ^ 3. Я бы посмотрел на ваш стек и убедился, что вы их правильно расставляете.

0 голосов
/ 27 декабря 2011
 result=pow([self popOperand],[self popOperand]);
This statement is being executed from left to right ... so its calculating pow(2,3)

You can use 
double x = [self operand];
double y = [self operand];
result = pow(x,y)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...