Вниз
Скачать: CL | DM;

Большие целые числа (128бит) и математические операции с ними   Найти похожие ветки 

 
Slym ©   (2003-11-14 10:49) [0]

Посоветуйте как можно сделать
1. большое целое число 128бит и более (256,512)
2. и как с этим работать метематически +/-, */:, div/mod?


 
Erik ©   (2003-11-14 11:15) [1]

Наверное придется эмулировать, знаеш как работать с начала со старшим байтом потом с младшим. Желательно делать на ASM, будет проще и быстрее. Как вариант можно использовать число(LongWord) умножить на 10 в степени. И работать с record
TBigNumber = record
Value: LongWord(Integer);
Mul: LongWord;
end;
Тоесть можно получать очень большие числа Value * 10^Mul, но обрабатывать придется по отдельности. Можно еще готовае библиотеки поискать они точно есть.


 
TUser ©   (2003-11-14 11:20) [2]

Если по-отдельности работать с малдшими и старшими частями не хочется, а хочется писать просто A+B - тогда в Сях.


 
Slym ©   (2003-11-17 05:05) [3]

Мне хотябы получать обрезок от переполнения при мат операции...
Не знаете MMX, SSE (кстати у SSE 128 битные регистры :), но расчитаны на 32*4 :( ) могут сбрасывать переполнение в др. регистр?


 
Кен ©   (2003-11-17 05:22) [4]

Наверно надо объявлять массивы что-нибудь типа array[0..4] of Int64 и работать с ними вместо чисел.
Писать функции под них типа plus minus и т. д. Только уж очень геморойно. Может есть уже какие библеотеки готовые ?


 
icWasya ©   (2003-11-17 09:26) [5]

Посмотри здесь
http://algolist.manual.ru/maths/longnum.php



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.017 c
1-89830
romeo
2003-11-18 15:35
2003.11.27
Все время черно-белая картинка!!! Блин...


3-89788
IGORYOK
2003-11-06 16:01
2003.11.27
Почему после того как я ввожу Connection String внутри программы


1-89880
ramzi
2003-11-15 19:40
2003.11.27
TrimRight


1-89877
Quit
2003-11-15 18:18
2003.11.27
Строку наоборот


3-89766
ST_
2003-11-07 01:30
2003.11.27
Поле Boolean




   Наверх