Главная категория > Компьютеры, сканеры ШК, Клавиатуры, принтеры и ПО и т.д.
проблема с типом float.
Prz777:
Долго долбил. Без дробной части получалось если вводить 1,10,100,1000 и т.д. Остальные все с дробной частью.
SkaT:
Даже при небольших значениях частоты дробная часть отваливается?
Или только при значениях выше 6.7MГц ???
tridentxp:
чот я под вечер тупить начал - вроде на месте дробная часть.... надо срочно горлышко смочить...
drfaust:
--- Цитата: Prz777 от 15/10/2012 17:44:12 ---60000000
--- Конец цитаты ---
преепиши в 60000000.0 - не знаю как в паскале (дельфи), а вот в С/С++ желательно явно указать тип константы, разные компилеры могут по разному преобразовывать типы (один 60 лямов преобразует в float/double, другой наоборот а преобразует в инт.)
И да тут f=60000000/a;f1=60000000/(a+1); у тебя а - целое, т.е. 60000000 - тоже целое, таким образом делим целое на целое получаем целое (без всяких дробей), а уже потом преобразовываем оператором присваивания во float. Если с этим floaf f что-то ещё делаешь, то могут появится погрешности в виде к-то десятых/тысячных.
Prz777:
--- Цитата: drfaust от 16/10/2012 00:58:19 ---делим целое на целое получаем целое (без всяких дробей)
--- Конец цитаты ---
К примеру 3:2=1,5. Тип переменной результата должен быть float или double.
Навигация
Перейти к полной версии