This is partially in response to Kerm's BaseConv program he posted a couple months ago and to a project I've been working on. Looking at his program's description on Ticalc, I saw an error in which he stated that the program had arbitrary precision limited by the calculator's memory (although he qualified his statement with "to my knowledge"). Anyways I too had a similar program uploaded, so similar that if you remove his menu, credits, help, dcs icon, error checking, etc., it is quite similar to Kerm's. Mine can be found here
http://www.mediafire.com/?ntjpngfxafh (it's on ticalc too, although I requested mulitple times for them to remove it, but the one in the link above is the latest version).
Anyways it got me thinking of how it would be possible to make an actual precision one. The only way I've thought of so far (haven't thought about it that much) was to just use a string or list to store each individual digit of a number, ex. 365 would be "365" or {3,6,5}, then do the math with individual digits and store numbers to other lists or strings, ex. 365*34 = {1,2,4,1,0}. A routine would have to be made for the four fundamental operations (+-*/). Exponents could be done using the multiplication routine and For( command. So if anyone has any ideas on creating a quick and efficient way for this it'd be nice. I've already made a multiplication one but it's somewhat slow. Also I've worked on a program that will convert non integer numbers, ex. ".25," and it was relatively successful. I even tried to implement support for repeating digits, both converting to and from them. The biggest problem however was the extreme loss of precision on the calculator's part, being only able to store up to 14 digits. This screwed up repeating digit detection and limited the amount of accurate digits that could be outputted, so I gave up on it because I wasn't sure what to do after that. The arbitrary precision stuff could probably solve that, although all in all, if a program that convert numbers like 4/3 (1.3333...) could be made it would be rather large and probably slow. This type of project is for people who like to problem solve and program for fun and challenge with math involved.
I suppose I'll edit this post later to include paragraphs, sorry . This topic will likely go unreplied and the post's length is probably too unappealing to attract attention, but I had put off this project for a while so had a lot of thoughts bundled together. Thanks anyways anyone, hope this wasn't a crappy first post.
http://www.mediafire.com/?ntjpngfxafh (it's on ticalc too, although I requested mulitple times for them to remove it, but the one in the link above is the latest version).
Anyways it got me thinking of how it would be possible to make an actual precision one. The only way I've thought of so far (haven't thought about it that much) was to just use a string or list to store each individual digit of a number, ex. 365 would be "365" or {3,6,5}, then do the math with individual digits and store numbers to other lists or strings, ex. 365*34 = {1,2,4,1,0}. A routine would have to be made for the four fundamental operations (+-*/). Exponents could be done using the multiplication routine and For( command. So if anyone has any ideas on creating a quick and efficient way for this it'd be nice. I've already made a multiplication one but it's somewhat slow. Also I've worked on a program that will convert non integer numbers, ex. ".25," and it was relatively successful. I even tried to implement support for repeating digits, both converting to and from them. The biggest problem however was the extreme loss of precision on the calculator's part, being only able to store up to 14 digits. This screwed up repeating digit detection and limited the amount of accurate digits that could be outputted, so I gave up on it because I wasn't sure what to do after that. The arbitrary precision stuff could probably solve that, although all in all, if a program that convert numbers like 4/3 (1.3333...) could be made it would be rather large and probably slow. This type of project is for people who like to problem solve and program for fun and challenge with math involved.
I suppose I'll edit this post later to include paragraphs, sorry . This topic will likely go unreplied and the post's length is probably too unappealing to attract attention, but I had put off this project for a while so had a lot of thoughts bundled together. Thanks anyways anyone, hope this wasn't a crappy first post.