Страница 1 из 1

32х битных формат с плавающей запятой стандарта IEEE

Добавлено: 23 май 2010, 10:51
Tonyy
32х битных формат с плавающей запятой стандарта IEEE. число выборок - 1000
я описываю переменную через массив [1..1000] типа single.
считываю в переменную 4000 байт. значение каждой выборки присваиваю отдельной ячейки в таблице StringGrid, приводя тип из вещественного в строковый. выполнение прерывается ошибкой. не правильная операция с вещественным числом. в таблице оказываются данные до 800 с хвостиком выборки. также в таблице встречается слово NAN. помогите распознать ошибку. что такое NAN , надо ли переворачивать биты у вещественных чисел? (я попробовал, но компилятор заругался)

Re: 32х битных формат с плавающей запятой стандарта IEEE

Добавлено: 23 май 2010, 11:47
Duncon
Проверь чтоб деления на 0 небыло.
NAN = 0.0/0.0 //недопустимое значение
проверить является ли число правильным
if IsNaN(float) then

Re: 32х битных формат с плавающей запятой стандарта IEEE

Добавлено: 23 май 2010, 21:46
Tonyy
с какой версии начинает работать IsNAN ? в седьмом делфи не работает. и хотелось узнать по больше про стандарт IEEE простым языком. правильно ли я определил переменную через single?

Re: 32х битных формат с плавающей запятой стандарта IEEE

Добавлено: 23 май 2010, 22:16
Tonyy
разве при чтении данных из файла происходит какое-либо деление?

Re: 32х битных формат с плавающей запятой стандарта IEEE

Добавлено: 25 май 2010, 21:26
Tonyy
почему на функцию isNan компилятор говорит - Undeclared identifier: 'IsNan'??????!!!!!!!!!!!!!

Re: 32х битных формат с плавающей запятой стандарта IEEE

Добавлено: 25 май 2010, 21:38
BulldozerBSG
В Delphi должно быть, вот в FPC (Lazarus) вроде отсутствует

Re: 32х битных формат с плавающей запятой стандарта IEEE

Добавлено: 25 май 2010, 21:42
BulldozerBSG
"double <> 0.0/0.0" такое условие можно попробовать...

Re: 32х битных формат с плавающей запятой стандарта IEEE

Добавлено: 25 май 2010, 21:50
Tonyy
понял в чем ошибка - не был подключен модуль math