I am making a calculator and I need to function without cos so but I do not get consistent values as I do, I'll be grateful. (I'm using microcode)
I am making a calculator and I need to function without cos so but I do not get consistent values as I do, I'll be grateful. (I'm using microcode)
As usual, there are a couple ways to go to get sin. But hopefully, you don't want calculator precision for your ..um .... calculator.
Melanie has a brilliant way. Old post, but I only recently discovered it.
http://www.picbasic.co.uk/forum/show...=2873#post2873
And doing it this way would also give you the ability to do sin, cos and atan2 on your calculator.
http://www.picbasic.co.uk/forum/showthread.php?t=10528
So, dumb question but...
so what does the PICBASIC PRO SIN function do that's useful?
Never mind, I discovered the answer with a little impromptu LCDing.
What is unclear in the manual is that the angle in degrees is represented by a value of 0-255 instead of 0-359. It's NOT in radians as the manual suggests (where a decimal value of 6.28 radians would correspond to 360 degrees). To calculate the value to pass to the function SIN x, you have to use x=255y/360 where y was your angle in degrees.
The result returned from the SIN function is in the range of 0-255, in two's compliment form (where 0-127 corresponds to a scaled sin result of 0.00 to 1.00 respectively and 128-255 corresponds to a scaled sin result of -1.00 to 0.00 respectively).
Although it's not super accurate, it's reasonably adequate to 2 decimal places if you figure 0-127 scaling is better than 1 to 100.
Last edited by picster; - 11th July 2010 at 16:45. Reason: clarity
The results are in
Binary Radians as the manual suggest...![]()
Dave
Always wear safety glasses while programming.
If I'm not mistaken, the results of a sin function are merely a ratio and don't have a unit. In this case, it's -127 to 127, which is as I see it, a number to be divided by 127 to get the actual result.
Radians are a unit like degrees, and the result wouldn't be in radians anyway, since the result is merely supposed to be a ratio.
I could be way off base with this, and would be glad to be shown how radians are involved.
picster
Bookmarks