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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 14.09.2012, 17:07   #1
gylayko
Форумчанин
 
Регистрация: 14.09.2011
Сообщений: 203
По умолчанию floating point overflow в delphi

задача такова: нужно перевести число из любой системы исчисления в десятичную.
выглядит это вот так примерно в коде:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i,x,p:integer; s:real;
begin
x:=StrToInt(Edit1.Text);
p:=StrToInt(Edit2.Text);
 while (x<>0) do
  begin
   s:=s+(x mod 10)*exp(ln(p)*i);
   inc(i);
   x:=x div 10;
 end;
Edit3.Text:=FloatToStr(s);
end;
какую систему не введешь начиная от двоичной переполняется тип! в чем проблема?
gylayko вне форума
Старый 14.09.2012, 17:25   #2
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var i,x,p:integer; s:real;
begin
x:=StrToInt(Edit1.Text);
p:=StrToInt(Edit2.Text);
i:=0;
 while (x<>0) do
  begin
   s:=s+(x mod 10)*exp(ln(p)*i);
   inc(i);
   x:=x div 10;
 end;
Edit3.Text:=FloatToStr(s);
end;
что то я не понял просто чему равно i в начале... возможно из за этого
Писано по д'Эльфийски
Лубышев вне форума
Старый 14.09.2012, 17:34   #3
gylayko
Форумчанин
 
Регистрация: 14.09.2011
Сообщений: 203
По умолчанию

Цитата:
Сообщение от Лубышев Посмотреть сообщение
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i,x,p:integer; s:real;
begin
x:=StrToInt(Edit1.Text);
p:=StrToInt(Edit2.Text);
i:=0;
 while (x<>0) do
  begin
   s:=s+(x mod 10)*exp(ln(p)*i);
   inc(i);
   x:=x div 10;
 end;
Edit3.Text:=FloatToStr(s);
end;
что то я не понял просто чему равно i в начале... возможно из за этого
ох! спасибо огромное! а то я уже перелопатил кучу учебников! а все оказалось так просто!
gylayko вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
floating point overflow awzq Общие вопросы C/C++ 2 05.09.2012 13:54
Floating point overflow Ania Lunee Помощь студентам 4 18.05.2012 22:01
delphi. invalid floating point operation Никита. Помощь студентам 9 21.07.2011 13:53
Чтение файла в массив и построение графика TChart, floating point overflow А здесь смотрели? vitalyisaev2 C++ Builder 1 09.11.2010 21:36
Delphi, "Floating point overflow" что делать? xMass Помощь студентам 12 02.04.2009 01:37