MacRumors Forums Kochan Exercise 4-4

 Jan 30, 2009, 09:56 AM #1 veshman macrumors newbie   Join Date: Sep 2005 Kochan Exercise 4-4 Hi, I'm very new to programming and was wondering if I could get some help on this problem. I'm working through Kochan's 2.0 book, and am getting an error on problem 4-4, as shown in the image. If I make x an integer, the program seems to run fine. But if I make it a float, it errors with "invalid operands to binary ^" Attached Thumbnails 0
 Jan 30, 2009, 10:04 AM #2 lee1210 macrumors 68040     Join Date: Jan 2005 Location: Dallas, TX ^ is not the exponentiation operator, it is the bitwise XOR operator. There is, in fact, no exponentiation operator. There is a pow function in math.h for dealing with doubles. For integers, for powers of 2, you can use << to shift left. For other integers... you have to do it yourself. -Lee EDIT: For simple, fixed powers, just multiply the appropriate number of times. 0
 Jan 30, 2009, 10:08 AM #3 lazydog macrumors 6502a   Join Date: Sep 2005 Location: Cramlington, UK ... or since you're using floats, powf()! b e n 0
Jan 30, 2009, 11:04 AM   #4
mdeh
macrumors 6502

Join Date: Jan 2009
Quote:
 Originally Posted by veshman Hi, I'm very new to programming and was wondering if I could get some help on this problem. I'm working through Kochan's 2.0 book, and am getting an error on problem 4-4, as shown in the image. If I make x an integer, the program seems to run fine. But if I make it a float, it errors with "invalid operands to binary ^"
As Lee said below, just use simple substitution. You have not yet used Pow or shift ( << ) operators.

So,

Code:
```#import <Foundation/Foundation.h>

int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
/* 3x³ - 2x² + 6  for x = 2.55 */

float x = 2.55;

NSLog(@"Given x = 2.55\n");
NSLog(@" 3x³ - 2x² + 6 = %f:", 3 * (x * x * x) - 2 *( x * x) + 6);
[pool drain];
return 0;
}```
0
 Jan 30, 2009, 10:21 PM #5 veshman Thread Starter macrumors newbie   Join Date: Sep 2005 Thanks much! Thanks a lot for your responses! That makes sense.....I thought I was missing something big. And as you pointed out, I'm thus far unfamiliar with powf and bit operations (read about them, but haven't used them). Bhavesh 0

 MacRumors Forums