H
hylwy
Unregistered / Unconfirmed
GUEST, unregistred user!
/* AST IEEE to SUN IEEE */
float flt(bfhd)
unsigned char *bfhd;
/*bfhd代表二进制文件中连续的四个字节*/
{
short i, exp;
int mant;
float data ,retn;
unsigned char *bb;
bb = (unsigned char *)&data;
*(bb+0) = *(bfhd+3);
*(bb+1) = *(bfhd+2);
*(bb+2) = *(bfhd+1);
*(bb+3) = *(bfhd+0);
retn = data;
return(retn);
}
这段程序的意思是这样的:
已知内存中的连续四个字节代表一个实数,这四个字节存储于PChar之中,
现在我想要知道的是这个实数是什么?
说明:在Buffer中来回换位的目的是把 AST IEEE 代表的实数转为 SUN IEEE
代表的实数,C语言子程序传入的是PChar,转换之后返回的是一个实数!
float flt(bfhd)
unsigned char *bfhd;
/*bfhd代表二进制文件中连续的四个字节*/
{
short i, exp;
int mant;
float data ,retn;
unsigned char *bb;
bb = (unsigned char *)&data;
*(bb+0) = *(bfhd+3);
*(bb+1) = *(bfhd+2);
*(bb+2) = *(bfhd+1);
*(bb+3) = *(bfhd+0);
retn = data;
return(retn);
}
这段程序的意思是这样的:
已知内存中的连续四个字节代表一个实数,这四个字节存储于PChar之中,
现在我想要知道的是这个实数是什么?
说明:在Buffer中来回换位的目的是把 AST IEEE 代表的实数转为 SUN IEEE
代表的实数,C语言子程序传入的是PChar,转换之后返回的是一个实数!