|
|
|
![]() |
|
|||||||
|
||||||||
|
|
Thread Tools | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
Operator/Bit Issue
Hi,
We are having a really unique problem that has stumped the whole programing team, all of the mentors, and the team leader. We are trying to write some code in MPLab to calculate the number of encoder ticks needed to reach six feet. We have found that fourteen encoder clicks is the same as one inch. The problem comes in when we try to multiply 72(six feet in inches) by 14(clicks in an inch). When this happens we get -16 which is 32 bits off. We are using the variable type long. Below is the code that we have written: long atemp=0; atemp=14*72;//should be 1008 printf("atemp=%ld\r\n", atemp); This code did not work and gave us a value of -16 for atemp. We also tried this: long atemp=0; atemp=72+72+72+72+72+72+72+72+72+72+72+72+72+72; printf("atemp=%ld\r\n", atemp); This also did not work and gave us a value of -16. Adding smaller numbers works fine and multiplying smaller numbers also works. We have pretty much exhausted any ideas. Thanks, Julian |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| pic: A "Bit" of a problem. | Herodotus | Extra Discussion | 26 | 11-10-2007 01:53 |
| A bit of humor... | 114Klutz | Chit-Chat | 0 | 01-04-2006 17:34 |
| Operator Interface power ISSUE | kacz100 | Technical Discussion | 11 | 27-02-2004 13:46 |
| A bit unfair... | Martin | General Forum | 61 | 26-02-2002 07:48 |
| i am a bit miffed | Zeinin | 3D Animation and Competition | 3 | 18-01-2002 13:39 |