C.Basic - International ReleaseCasio Basic C.Basic
Posted 16 August 2019 - 09:57 AM
I recently heard about C:Basic (compiler) but not fully understand.
Therefore, I have few questions:
- What features are added?
- Does it support all the calculators that C.Basic also support?
- What is the current progress? (How much % is done, 0-100%) If 0%, which year/time will you start this compiler part?
- In theory, how is the speed of C:Basic compared to C.Basic and Casio Basic?
Thanks for reading my questions. Keep up the good work!
Posted 16 August 2019 - 10:59 AM
I'm programming an algorithm for big number calculations (addition, subtraction etc) and I store each digit in a nimble matrix cell. But when i store any digit larger than 8 it makes it negative (understandable since it uses the highest order bit as sign) and causes problems. I don't want to use a byte matrix since it will double the needed storage (we're talking large numbers here with 2000 digits and such).
Is it possible to have some kind of flag, say like Mat a.Q to signify that a is an unsigned nibble matrix?
Edited by tsiozos, 16 August 2019 - 11:43 AM.
Posted 17 August 2019 - 02:52 AM
Edited by sentaro21, 17 August 2019 - 02:54 AM.
Posted 17 August 2019 - 04:06 PM
For 1->i% to 6
This code makes the first loop i% takes the value of 1 then quits.
OTOH, the same loop in integer mode works fine. Also if i remove the % it works fine. If I increase the i% variable outside the loop with 1+i%->i% also works just fine. So, my guess is that integer variables confuse For loops or something.
Latest version of C.Basic.
Posted 18 August 2019 - 03:42 AM
- tsiozos likes this
Posted 18 August 2019 - 07:10 AM
Thank you very much for the bug corrections. Makes my simulation much faster indeed!
One last little bug before you release the final 2.23:
sprintf function doesn't seem to work correctly when printing an integer variable with the %d sequence:
#CBDBL 1->i% Disp sprintf("%d", i%) -------> prints some weird number (probably some double bit equivalent) 1072693248 but #CBDBL 1->i% Disp sprintf("%f", i%) -----------> prints correctly the value but as a double 1.00000
Posted 18 August 2019 - 07:52 AM
#CBDBL 1->i% Disp Sprintf("%d", %i%)
Edited by sentaro21, 18 August 2019 - 07:53 AM.
Posted 18 August 2019 - 07:54 PM
Edited by tsiozos, 18 August 2019 - 08:07 PM.
Posted Yesterday, 01:20 AM
But that's what i do and it doesn't work correctly.
How is the output result?
Posted Yesterday, 06:08 AM
'#CBDBL 6->E For 1-> I% To E Disp I% Next
#CBDBL 1->i% Disp sprintf("%d", %i%)
Edited by sentaro21, Yesterday, 06:23 AM.
Posted Yesterday, 08:24 AM
Updating right now.
Posted Yesterday, 07:40 PM
I've made an algorithm that multiplies very large numbers. I ran it with two 47-digit numbers.
Casio Basic: ~44 sec
C. Basic: 0.5 sec. Yes: half a sec!!
Amazing. We're in C++ territory here.
I'll upload the code to try it yourself.
Posted Today, 05:22 AM
Also tagged with one or more of these keywords: Casio Basic C.Basic
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users