Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с типом double, деление п омодулю 
:(
    Опции темы
Iganga
Дата 9.6.2009, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.12.2007

Репутация: нет
Всего: 1



Добррый день!

Оцените код.
Код

Double d = Math.Pow (10 , 308);
            Double res = Double.MaxValue;
            Console.WriteLine ("{0:N}" ,res);


Есть ли альтернатива?

Я хочу реализовать RSA собственноручно на C#.
Дайте совет пожалуйста.

Добавлено через 1 минуту и 58 секунд
Извиняюсь))

Кое что надо поправить.
Код

Double d = Math.Pow (10 , 308);
            Double res = (Double.MaxValue - 1) % 2;
            Console.WriteLine ("{0:N}" ,res);


Результат выводится как 0,00.

Что поделать?
PM MAIL ICQ   Вверх
Raistlin
Дата 10.6.2009, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 19.5.2009

Репутация: нет
Всего: нет



Цитата(Iganga @  9.6.2009,  22:08 Найти цитируемый пост)
Double res = (Double.MaxValue - 1) % 2;

А что, если остаток от деления действительно 0?  smile И зачем он вам нужен в программе?

Это сообщение отредактировал(а) Raistlin - 10.6.2009, 09:47
PM MAIL   Вверх
Iganga
Дата 10.6.2009, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.12.2007

Репутация: нет
Всего: 1





Вот таково максимальное значение типа double.

179 769 313 486 232 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
000 000 000,00


Дело в том, что алгоритм RSA для надежности шифрования (да и вцелом вообще) требует таких вот больших чисел.
С такими числами надо выполнять операции. Деление по модулю тому примером служит.
Отсюда и вопрос???? Пошему же нуль возвращает??
PM MAIL ICQ   Вверх
Partizan
Дата 10.6.2009, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 9
Всего: 67



Iganga, да потому что число хранится как мантисса и порядок основания.... и это ваше -1 вообще никак на него не влияет


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Iganga
Дата 10.6.2009, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.12.2007

Репутация: нет
Всего: 1



Да, верно. Поэтому прошу помочь. Может вы знаете альтернативу.
Только что попробовал с типом long, decimal, такая же ситуация.

????
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0704 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.