Yes, you can have it pull down so the remainder ends up as the number of digits of the divisor, before ever having to evaluate it.
As far as the > < evaluations, simple. If the string length is smaller, it's smaller. If it's the same size, just evaluate the LEFT$(string$, 1) of each string. The larger is the larger. If the string length is larger, it's larger. Of course signs have to be considered in this evaluation, too. It's the opposite for negative, and positives are always larger than negatives.
Pete
You pull it down based on the size of your variable...
For instance “1234567890” + “2345678901”....
We can solve this byte by byte:
“0” + “1”... 1, no carry over
“9” + “0” + 0 carry over... 9, no carry over
“8” + “9” + 0 carry over... 7, carry over 1
“7” + “8” + 1 carry over... 6, carry over 1...
And so on...
OR...
We can pull numbers down 2 digits at a time, with the same process:
“90” + “01” = “91”, no carry over
“78” + “89” = “67”, carry over 1
Same process, just pull larger values so we’re not reading a single string character at a time, but instead are reading a value from 0 to 99 instead...
Half the work, twice the speed!
(And If we use INT64 values, we pull down 18 [I think] digits per pass, instead of 1.)
No need to solve byte by byte. Solve INT64 by INT64 instead.