можно ещё после переведения в "10" системму можно по формуле организовать сжатие блоков ,например блок с 8 цифрами сжать до 4 цифр
Можно примерно сжать вот так число на входе : 43635634654365435634564543654364345
на выходе: 218178173271827
Всё это по простой формуле : X/200000000000000000000
Можете проверить
число из 35 знаков превратилось в число из 15
выводы делайте сами
вот схема на которой я это всё проверял
Add(MainForm,2953706,105,70)
{
Width=678
Height=212
}
Add(MathParse,8605099,154,119)
{
MathStr="%1/200000000000000000000"
Point(doMathStr)
link(onResult,10566142:doAdd,[])
link(X1,3089361:Text,[])
}
Add(Edit,9312358,105,154)
{
Left=85
Top=55
Width=305
Text="%1/200000000000000000000"
link(onChange,8605099:doMathStr,[(145,160)(145,132)])
}
Add(Button,8955582,105,119)
{
Left=30
Top=55
link(onClick,8605099:doCalc,[])
}
Add(Memo,10566142,196,119)
{
Left=405
Top=50
Width=210
Height=70
Strings=#15:218178173271827|
ScrollBars=2
}
Add(Edit,3089361,154,70)
{
Left=85
Top=100
Width=305
Text="43635634654365435634564543654364345"
}
Add(Label,10482511,105,224)
{
Left=145
Top=35
Width=52
Height=17
Caption="Формула"
}
Add(Label,11468190,140,189)
{
Left=145
Top=80
Width=90
Height=17
Caption="Число 35 знаков"
}
Add(Label,4947438,105,189)
{
Left=435
Top=30
Width=91
Height=17
Caption="Число на выходе"
}
+++++++++++++++++++++++++
000000000000000000
Из "DATA" В "HEX"
303030303030303030303030303030303030
из "HEX" В "10"
484848484848484848484848484848484848
сжатие по формуле X/2000000000000000000000
242424242424242
+++++++++++++++++++++++
В итоге мы получаем число на несколько знаков меньше чем начальные данные,плюс добавить новую кодеровку
Да ,и ещё приимущество новой кодировки ,она может кодировать 3-х значные числа
чем это лучше(это не точное значение): 242424242424242 = 242 424 242 424 242 = 7P 9E 7P 9E 7P
Теперь сравним
На входе
242424242424242
На выходе
7P9E7P9E7P
Ещё одно сжатие
В итоге из 000000000000000000
мы получаем
7P9E7P9E7P