Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2010, 13:29   #1
Von
Пользователь
 
Регистрация: 19.03.2010
Сообщений: 26
По умолчанию Улучшение кода

Вот код округление вверх и округление вниз. Он считает... Но если задать такое цисло: 125478958974120365897451258987 то программа останавливается. Может есть варианты сделать лучше, то есть чтобы считал.


double z ;
x2=StrToFloat(RichEdit1->Text);
z= Ceil (x2);
RichEdit1->Text = FloatToStr(z); // Округление вверх


double z ;
x2=StrToFloat(RichEdit1->Text);
z= Floor(x2);
RichEdit1->Text = FloatToStr(z); // Округление вниз
Von вне форума Ответить с цитированием
Старый 19.10.2010, 13:43   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Но если задать такое цисло: 125478958974120365897451258987
Ого!... Мне бы такую зарплату
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.10.2010, 13:45   #3
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Не многого ли вы хотите от встроенных типов? 10^30 - это как-то немного чересчур. Я тут в соседней теме уже писал, что даже 64-битный (8-байтный) double вмещает в себя всего порядка 10^19. А если вы хотите, чтобы считало и с такими немаленькими числами, то используйте длинную арифметику.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 19.10.2010, 13:47   #4
Von
Пользователь
 
Регистрация: 19.03.2010
Сообщений: 26
По умолчанию

Гром! Как это записать?
Von вне форума Ответить с цитированием
Старый 19.10.2010, 20:38   #5
coinkrsk
пыжашийся нуб
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 93
По умолчанию

в гугле введите "длинная арифметика". Если совсем лень искать, то я, например, пользуюсь библиотекой MPIR. Искать опять же на сайте http://www.google.kz
coinkrsk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Улучшение кода Rusl92 Помощь студентам 4 23.09.2010 19:15
Улучшение кода megachuhancer Общие вопросы Delphi 5 27.01.2010 00:42
Улучшение кода The riddle Помощь студентам 2 07.12.2009 10:00
Улучшение зрения Манжосов Денис :) Свободное общение 13 30.04.2008 13:21