32х битных формат с плавающей запятой стандарта IEEE
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
32х битных формат с плавающей запятой стандарта IEEE. число выборок - 1000
я описываю переменную через массив [1..1000] типа single.
считываю в переменную 4000 байт. значение каждой выборки присваиваю отдельной ячейки в таблице StringGrid, приводя тип из вещественного в строковый. выполнение прерывается ошибкой. не правильная операция с вещественным числом. в таблице оказываются данные до 800 с хвостиком выборки. также в таблице встречается слово NAN. помогите распознать ошибку. что такое NAN , надо ли переворачивать биты у вещественных чисел? (я попробовал, но компилятор заругался)
я описываю переменную через массив [1..1000] типа single.
считываю в переменную 4000 байт. значение каждой выборки присваиваю отдельной ячейки в таблице StringGrid, приводя тип из вещественного в строковый. выполнение прерывается ошибкой. не правильная операция с вещественным числом. в таблице оказываются данные до 800 с хвостиком выборки. также в таблице встречается слово NAN. помогите распознать ошибку. что такое NAN , надо ли переворачивать биты у вещественных чисел? (я попробовал, но компилятор заругался)
Проверь чтоб деления на 0 небыло.
NAN = 0.0/0.0 //недопустимое значение
проверить является ли число правильным
if IsNaN(float) then
NAN = 0.0/0.0 //недопустимое значение
проверить является ли число правильным
if IsNaN(float) then
[syntax=Delphi] [/syntax]
с какой версии начинает работать IsNAN ? в седьмом делфи не работает. и хотелось узнать по больше про стандарт IEEE простым языком. правильно ли я определил переменную через single?
разве при чтении данных из файла происходит какое-либо деление?
почему на функцию isNan компилятор говорит - Undeclared identifier: 'IsNan'??????!!!!!!!!!!!!!
-
- Сообщения: 270
- Зарегистрирован: 09 янв 2010, 04:14
- Контактная информация:
В Delphi должно быть, вот в FPC (Lazarus) вроде отсутствует
-
- Сообщения: 270
- Зарегистрирован: 09 янв 2010, 04:14
- Контактная информация:
"double <> 0.0/0.0" такое условие можно попробовать...
понял в чем ошибка - не был подключен модуль math