Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.27;
Скачать: 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 вся ветка

Текущий архив: 2003.11.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.053 c
1-89848
Buffoon
2003-11-16 17:49
2003.11.27
Заголовок окна


1-89860
Сергей Петров
2003-11-16 04:55
2003.11.27
Как открыть файл, зарегистрированный в системе (mp3,m3u,avi,...)


3-89676
bobtubob
2003-11-06 09:39
2003.11.27
как добавить поле в ADO


11-89801
savva
2003-03-19 18:26
2003.11.27
Как в RunTime для уже существующего Memo (да и не только)......


1-89942
Pert
2003-11-17 21:29
2003.11.27
из Edit a в переменную