Official documents only mention two functions:
long dmuls_h(long data1,long data2) and long dmuls_l(long data1,long data2)

so can I use long long? or __int64?
__int64 is not defined in the SDK. Instead, use long long.
If you're using the PrizmSDK for the Casio Prizm, then you can perform arbitrary operations on 64-bit numbers just as if they were native. For example:


Code:
long long int a = 9000000001;
long long unsigned int b = 12345678934544;
a *= b;
b += a;
sprintf(somestring,"%llu",b);
No, long long can't be used in 9860 SDK... Any other ideas?
I found something like this
Quote:
> Prior to C99, there was a DR that stated that no standard integer type
> could be "longer" than long, i.e., size_t, ptrdiff_t, and so on. But
> a "long long" type in a pre-C99 compiler would be an extension, not a
> standard type, and the only limitation placed on extensions is the one
> above.

ANd in limits.h, there aren't any indics from any long long, long int or else extended type.
It would seem then that you'd want to write some 64-bit routines based around structs of two 32-bit integers. I've even seen libraries of routines that will do arithmetic operations such as addition, subtraction, division, multiplication, and comparison on such structs, so you might not have to do much work for it.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement