Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ как пребразовать чило с плавающей запятой в двоичн

Автор: Freddie 28.05.2004 9:40

как пребразовать чило с плавающей запятой в двоичн типа Single и наоборот

Автор: BlackShadow 28.05.2004 16:22

На преобразовании из числа в строку можно схалявить. Дело в том, что переменные типа Single, как ни странно, представляют собой последовательность байт. Но, стоит заметить, что байты располагаются в обратном порядке. Т. е. можно написать так:

Код

Type
 Float=Single;
 TByteArray=Array[1..SizeOf(Flost] Of Byte;

Function ToStr(f:Float):String;
Var
 i:Integr;
 Result:String;
 b:TByteArray Absolute f;
Begin
 Result:='';
 For i:=1 To SizeOf(Float) Do
   Result:=Result+ByteToStr(b[i]);
 ToStr:=Result
End;

Где ByteToStr переводит переменную типа Byte в строку из восьми нулей и единиц, т. е. Function ByteToStr(b:Byte):String;
Думаю, что её написать не представляет сложности.
А обратное преобразование есть обратное преобразование. Надо просто сделать всё с точностью наоборот.