有没有人帮忙看看这段c程序,如何转换成DELPHI的操作,是一段float to 4Btye的算法,谢谢了main(){
float f,f2,*f3;
char c[4];
char *point;int i,j;f= 0.05;
f2=0.06;
point =(char *)(&f); // point to flaot of first addressfor( i=0 ; i<4 ; i++)
{
c[i]= *point; // get one byte data each time
j= c[i];
point ++;
}f3=(float *) &c[0]; //get four byte. Set float point to memory address's first address
f2=* f3;return 0 ;
}
float f,f2,*f3;
char c[4];
char *point;int i,j;f= 0.05;
f2=0.06;
point =(char *)(&f); // point to flaot of first addressfor( i=0 ; i<4 ; i++)
{
c[i]= *point; // get one byte data each time
j= c[i];
point ++;
}f3=(float *) &c[0]; //get four byte. Set float point to memory address's first address
f2=* f3;return 0 ;
}
解决方案 »
- ADOQueryTmp.Locate('itembm',copy(m,1,4), [loPartialKey]) 解释一下什么意思
- 菜鸟问题,各位大哥大姐帮帮忙:)
- 如何编写带参数启动的程序?
- 高分:请教一个用SQL语句向SQL Server2000插入二进制(image)数据的问题!
- 散分
- 哪里可以找到这样的“精华”
- 请问怎样改变对话框中某段字体的颜色
- 如何读取注册表主键下的默认值,很急!!!
- 请问如何改变Border为:bsNone的窗体大小,就如bsSizeable的一样?????
- 请问用什么函数来disable窗口上面的三个按钮啊?
- DBChart 与 ScrollBar 配合的问题
- XP怎么建立局域网?
var
f,f2:Real;
f3:PDouble;
c:Array[0..3] of char;
point:pChar;
i,j:integer;
begin
f:=0.05;
f2:=0.06;
point:=pchar(@f);
for i:=0 to 3 do
begin
c[i]:=point^;
j:=Ord(c[i]);
inc(point);
end;
f3:=PDouble(@c[0]);
f2:=f3^;
end;
var
fl:single;
c: array[0..3] of byte;
begin
fl:=123.456;
move(fl,c,sizeof(fl));
end;
比较好用点
var
fl: single;
c: array[0..3] of byte;
begin
fl := 123.456;
PSingle(@c[0])^ := fl;
end;
type
TFloatByte = record
case integer of
0: (Value: Single);
1: (Bytes: array[0..3] of Byte);
end;var
f: TFloatByte;
f2: Single;
begin
f.Value := 123.45;
f2 := PSingle(@f.Bytes[0])^;
end;
var
fl: Single;
c: array[0..3] of Byte absolute fl;
begin
fl := 123.456;
end;╔═╤═╤═╤═╤═╗
║ │ │ │经│楼║
║ │ │ │失│主║
║ │ │ │踪│貌║
║ │ │ │!│似║
║ │ │ │ │已║
╚═╧═╧═╧═╧═╝