Вниз
Скачать: 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.015 c
11-89805
antonm
2003-03-09 23:41
2003.11.27
ActiveX


14-90106
REA
2003-11-04 10:43
2003.11.27
Интернет и люди


3-89758
vov-
2003-11-07 21:36
2003.11.27
исключительные ситуации


1-89826
Лана Розанова
2003-11-15 08:02
2003.11.27
Запуск программы с параметрами


4-90178
Kair
2003-10-01 11:18
2003.11.27
ReadDirectoryChangesW




   Наверх