Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Rodion Gorkovenko                    2:5030/1286.6  14 May 2003  17:20:00
 To : Alexandr Zhizhin
 Subject : RSA
 -------------------------------------------------------------------------------- 
 
 10 May 03 17:48, you wrote to me:
 
 AZ>>> Вообще было бы неплохо иметь в Си целочисленный тип на 80 бит.
 RG>> А вообще проблема-то невелика - встроенным ассемблером
 RG>> загрузить-выгрузить число в сопроцессор... Хотя все операции
 RG>> переписывать придется...
 AZ> Ээ это же ещё с этим ассемблером разбиратся придется %) Лит-ру по
 AZ> сопроцессору читать.
 
 Там список команд на страничку... А нужных тебе - вообще пяток... Возможно, дело
 того стоит... А может и не стоит...
 
 AZ>>> Операция взятия остатка для чисел с плавающей запятой -
 AZ>>> fmod(double,double) или что то типа того.
 RG>> Это да, но для такой точности она ничего путевого не скажет,
 RG>> подозреваю... Вот сейчас поэксперементировал с взятием остатка от
 RG>> деления 1.24Е+3000 на 1.23Е+3000 - получилось нецелое число...
 AZ> Остаток нецелое число - гон или глюк.
 
 Да нет - просто он их переводит в двоичные с точкой - и преобразование
 получается неточным... Hапример, если у нас всего два знака после точки, число
 0.7 представить не получится - придется выбирать между 0.1 (0.5) и 0.11
 (0.75)...
 Там ты дальше кому-то что-то отвечаешь по поводу использования нецелых чисел - в
 общем, хотя в long double и больше значащих чисел, это означает только то, что
 число такого типа можно вывести в десятичном представлении со столькими верными 
 знаками - но если у тебя есть целое число со столькими десятичными знаками - не 
 факт, что его можно точно представить в виде long double... Конкретно можно
 представить точно лишь числа, которые могут быть выражены как cумма чисел типа
 1/2, 1/4,..., 1/(2^N), где N - целое число... То есть, скажем,
 0.1011 (в двоичной) - это 1/2 + 0/4 + 1/8 + 1/16... Разумеется, не все
 десятичные числа можно так записать точно, поэтому числа с плавающей запятой не 
 могут в принципе быть использованы для решения данной задачи (правда вопрос еще 
 в том, сколько знаков ты берешь - порядка 17-18 еще, наверное, можно
 использовать... Больше 20 нельзя наверняка...
 Вот целочисленный 64-битный тип сопроцессора - это то, что надо... Я так
 понимаю, он дает как раз эти самые... 64*lg(2)=19.26... десятичных знаков. Зато 
 точных...
 
 AZ> Кстати, а как насчет быстродействия? Эти операции медленее
 AZ> выполняются, чем целочисленные?
 
 Hа машине без сопроцессора - значительно медленнее - но, поскольку начиная
 где-то с 486 сопроцессор встроенный, то даже быстрее получается... Кажется...
 У меня на четверке быстрее - сейчас попробовал... Вообще и целые числа можно
 сопроцессором складывать...
 
 AZ> Согласен. Позор мне :) Hу не программер я всё таки. :)
 
 Брось... А кто тут программер - многие, наверное, сочтут себя математиками - а я
 вообще сбоку припека... ;)
 
 AZ> Пойду читать Кнута и Теорию чисел.
 
 Кнут пишет о вещах этаких, на мой взгляд, не очень сложных, но очень
 обстоятельно, хорошо пишет - чрезвычайно дисциплинирует ум... Hаверное... В
 книжном магазине я его полистал - но каждый том стоил под двести рублей и я ушел
 восвояси... А в электронном виде не видал - если найдется, я бы тоже почитал...
 
 AZ> Да кстати спасибо, выручил, твоя функция была использована и весьма
 AZ> ускорила работу проги.
 
 Вот это действительно чудеса... А как решили таки со взятием остатков - или так 
 и делали в нецелых числах?
 
 с почтеньем,
 Rodion
 
 ---
  * Origin:  (2:5030/1286.6)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 RSA   Alexandr Zhizhin   02 May 2003 17:06:27 
 RSA   Rodion Gorkovenko   03 May 2003 09:06:00 
 Re: RSA   Alexandr Zhizhin   04 May 2003 08:51:14 
 RSA   Rodion Gorkovenko   05 May 2003 10:32:00 
 Re: RSA   Alexandr Zhizhin   10 May 2003 17:48:13 
 RSA   Rodion Gorkovenko   14 May 2003 17:20:00 
 RSA   Evgenij Masherov   04 May 2003 18:50:08 
 Re: RSA   Alexandr Zhizhin   10 May 2003 17:49:43 
 Re: RSA   Evgenij Masherov   10 May 2003 22:04:03 
 RSA   Marckel Barsuckov   10 May 2003 22:16:29 
Архивное /ru.algorithms/39753ec27e20.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional