Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];

Вниз

Работа с большими числами   Найти похожие ветки 

 
kroner   (2006-09-21 14:30) [0]

Подскажите где можно почитать по теме. Желательно алгоритм на asm"e


 
wal ©   (2006-09-21 14:33) [1]

Почитать - в учебнике второго класса - вычисления "в столбик".
На Asm перевести самостоятельно.


 
kroner   (2006-09-21 14:36) [2]

асм пока плохо знаю. А есть готовые библиотеки?


 
Rial ©   (2006-09-21 14:43) [3]

http://Rial578.narod.ru/source/bigzahlen.rar

Кривой, медленный, некрасивый... но рабочий вариант
для сложения, умножения, деления и вычитания
чисел любой разрядности.


 
ArtemESC ©   (2006-09-21 18:43) [4]

kroner   (21.09.06 14:30)  
Могу рассказать как складывать и вычитать большие числа на асме...


 
ZMRaven ©   (2006-09-21 18:48) [5]

Ну так поведай, я то асму не знаю толком...мне было бы интересно :-)
я там хорошо знаю только int 33h


 
xayam ©   (2006-09-21 18:52) [6]


> ArtemESC ©   (21.09.06 18:43) [4]

да да рассказывай тоже интересно. А умножать умеешь? А если числа с миллионами разрядов то как?


 
ArtemESC ©   (2006-09-21 19:04) [7]

ZMRaven ©   (21.09.06 18:48) [5]

Не проверял - пишу, что придет в голову, могу ошибиться:

ES: [EDI] - указывает на число к котором прибавлять...
DS: [ESI] - указывает на слагаемое
CX = количество выделенных под число байтов, умноженное на 4...

Сложение:
pushad
clc
@@L:
mov EAX, ES: [EDI]
adc  EAX, DS: [ESI]
mov ES: [EDI], EAX
add  EDI, 4
add  ESI, 4
loop L  
popad

ES: [EDI] - указывает на число, из которого нужно вычесть...
DS: [ESI] - указывает на вычитаемое...
CX = количество выделенных под число байтов, разделенное на 4...

Вычитание:
pushad
clc
@@L:
mov EAX, ES: [EDI]
sbb  EAX, DS: [ESI]
mov ES: [EDI], EAX
add  EDI, 4
add  ESI, 4
loop L  
popad


 
ArtemESC ©   (2006-09-21 19:08) [8]

Надеюсь имелись ввиду операции с целыми числами !??

xayam ©   (21.09.06 18:52) [6]
А умножать умеешь?

В школе научился...

А если числа с миллионами разрядов то как?
А зачем???


 
xayam ©   (2006-09-21 19:10) [9]


> ArtemESC ©   (21.09.06 19:08) [8]

ну вот есть же проекты поиска чисел Мерсенна. Как это работает?


 
ArtemESC ©   (2006-09-21 19:14) [10]

xayam ©   (21.09.06 19:10) [9]
Какие числа Марсена??


 
xayam ©   (2006-09-21 19:16) [11]

это которые простые и удовлетворяют формуле 2^p-1, где p - тоже простое число


 
ArtemESC ©   (2006-09-21 19:20) [12]

xayam ©   (21.09.06 19:16) [11]
Не понял в чем состоит трудность, нужно проверить является ли данное длинное = 2^p-1, где p - тоже простое число??


 
ArtemESC ©   (2006-09-21 19:25) [13]

2^p - это одна единичка и все нули
00000100000.......0

2^p - 1 это
00000011111.......1

Нужно просто посчитать количество единичек в начале, если количество - простое число, то ок...
Число единичек должно поместиться в 4 байта, ибо если их будет больше у персонального компьютера закончиться память...


 
xayam ©   (2006-09-21 19:25) [14]


> ArtemESC ©   (21.09.06 19:20) [12]

трудность в том что формулы для вычисления простых чисел нет. Приходится проверять каждое число. И числа Мерсенна также проверяют на простоту (кстати последнее 44-е число Мерсенна содержит аж 9,808,358 разрядов) что понятно трудно.


 
xayam ©   (2006-09-21 19:29) [15]


> ArtemESC ©   (21.09.06 19:25) [13]
> 2^p - это одна единичка и все нули
> 00000100000.......0
>
> 2^p - 1 это
> 00000011111.......1
>
> Нужно просто посчитать количество единичек в начале, если
> количество - простое число
, то ок...

да ладно?

> ибо если их будет больше у персонального компьютера закончиться
> память...

регистровая может и закончится, а если как BCD хранить в файле и по частям считывать.



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

Форум: "Прочее";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.041 c
2-1159160368
ROOT
2006-09-25 08:59
2006.10.15
Как вставить изображение в чужую форму.


2-1159685512
Roeg
2006-10-01 10:51
2006.10.15
Как вывести чужое окно на передний план?


10-1124054722
Lotus
2005-08-15 01:25
2006.10.15
The server threw an exception


15-1159285640
EkZot
2006-09-26 19:47
2006.10.15
грани на изображении


2-1159184607
TrainerOfDolphins
2006-09-25 15:43
2006.10.15
Файлы DDP. Delphi 7





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский