Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

проблемы с вычислением десятичного логарифма [D7, XP]


pavel_guzhanov ©   (2006-01-16 10:38:00) 

подскажите пожалуйста, как вычислить десятичный логарифм. я делаю вот так:
var c,d:Double;
begin
..........
c:=100;
d:=Log10(c);
.................

в результате получаю, что d=0....
Подставляю вместо с число, т.е.
d:=Log10(100);
- тот же результат...
Что я делаю неверно?


pavel_guzhanov   (2006-01-16 11:11:00) [1]

спасибо


Плохиш   (2006-01-16 11:04:00) [2]


> а вот в отладчике,так как я сказал в [2] показывает 0

<telepator on>
d в дальнейших вычислениях не используется, поэтому оптимизатор выкинул всю строку и показывается мусор.
</telepator off>


pavel_guzhanov   (2006-01-16 10:59:00) [3]

действительно, в MessageDialog выдается нормальное значение, а вот в отладчике,так как я сказал в [2] показывает 0, это меня и сбило с толку:-))
Спасибо за помощь


Плохиш   (2006-01-16 10:51:00) [4]

procedure TForm1.FormCreate(Sender: TObject);
var
   c, d: double;
begin
 c := 100;
 d := Log10(c);
 MessageDlg(FloatToStr(d), mtInformation, [mbOk], 0);
end;

Отгадай с трёх раз, что покажет MessageDlg?


pavel_guzhanov   (2006-01-16 10:50:00) [5]

к вычислению логарифма остальные строки отношения не имеют... в программе вычисление сложнее, но я пропустил всю сложность, и в программе сделал именно так, как в вопросе. Никакиз других строк, влияющих на значения с и d там нет. на следующей строке после вычисления логарифма я ставлю точку останова, и подношу курсор мыши к переменной d. Появляется подсказка "D=0"


Плохиш   (2006-01-16 10:44:00) [6]

В приведённом коде ошибки нет, d = 2. Ошибка в 17й неприведённой здесь строке.


Наверх

Титульная страница Поиск, карта сайта Написать письмо