[an error occurred while processing this directive]
|
На Сиvoid PutFloat(float f)
{
char *p = (char*)&f;
PutChar(*p++);//Передаем 1-й байт
PutChar(*p++);//Передаем 2-й байт
PutChar(*p++);//Передаем 3-й байт
PutChar(*p); //Передаем 4-й байт
}Паскаль
function GetFloat:Single
var
f_tmp:Single;
c_tmp:array[0..3] of char absolute f_tmp;
begin
c_tmp[0]:= GetChar;//Принимаем 1-й байт
c_tmp[1]:= GetChar;//Принимаем 2-й байт
c_tmp[2]:= GetChar;//Принимаем 3-й байт
c_tmp[3]:= GetChar;//Принимаем 4-й байт
result := f_tmp;
end;В обратную сторону примерно также.