Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.06.2013, 15:53
Tonyy Tonyy вне форума
Новичок
 
Регистрация: 05.04.2010
Сообщения: 85
Репутация: 10
По умолчанию почему invalid floating-point operation?

Уважаемые участники форума. прошу помочь мне разобраться в следующем моменте:
на вход программы подаю массив из 192400 числовых данных. числовой формат - single
с каждым числом необходимо проделать процедуру, чтобы поменять местами байты. в итоге в процессе выполнения программы на этапе переворачивания (свопинга) выскакивает ошибка invalid floating-point operation. если же переворачивать каждое число по отдельности по одному, а не в цикле, то все проходит нормально. пробовал переворачивать отдельно то число на котором вылетает ошибка, и предыдущее число и предшествующее - по отдельности все нормально. а если в цикле, то - беда. в чем дело?
Код:
procedure TForm1.btn2Click(Sender: TObject);
var
  ff:TextFile;
  buf:Single;
  dd:array [0..3] of  byte absolute buf;
  temp:byte;
  i:integer;
  f:TStringList;
  y:Integer;
  a:array [0..90035]of Single;
 
begin
  f:=TStringList.Create;
  f.LoadFromFile('G:\val.txt');
  //setlength(a,192400);
 // setlength(b,192400);
  for  y:=0 to 90035 do begin
    a[y]:=StrToFloat(f[y]);
  end;
  AssignFile(ff,'e:\antiswap.txt');
  Rewrite(ff);

                     //процедура которая переворачивает байты 
                   for y:=0 to 90035 do begin
                          buf:=a[y] ;
                          for i:=0 to 1 do begin
                          temp:=dd[i];
                          dd[i]:=dd[3-i];
                          dd[3-i]:=temp;
                          end;

                   Writeln(ff,buf);

  end;

 CloseFile(ff);
 f.Free;
ShowMessage('конец');

end;

во вложенном файле - входные данные. их меньше чем 192400 так как пришлось примерно половину удалить, чтобы загрузить на форум.
Вложения
Тип файла: rar val-1.rar (492.3 Кбайт, 1 просмотров)

Последний раз редактировалось Tonyy, 02.06.2013 в 18:00.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:32.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter