16进制的双精度浮点数的转换问题

wuwenzhe 2012-11-02 02:03:30
16进制字符串为:405C7107AD9735B3,
将该16进制表示的浮点数转换成10进制数为:113.766093633332,
求转换程序,
该程序最好和C#中的BitConverter.ToDouble()具有相同效果,
谢谢
...全文
693 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kaikai_kk 2012-11-05
  • 打赏
  • 举报
回复
ShowMessage测试都不会,哎...
sndmsn80809 2012-11-04
  • 打赏
  • 举报
回复
procedure TForm1.btn1Click(Sender: TObject);
var
S : String;
D : Double;
begin
S := '405C7107AD9735B3';
//一行就搞定了
PInt64(@D)^ := StrToInt64('$' + S);

ShowMessage(FloatToStr(D));
end;

lhy 2012-11-04
  • 打赏
  • 举报
回复
引用 7 楼 HSFZXJY 的回复:
16进制浮点为什么没有小数点?
他那个是浮点数当做整数,然后用十六进制字符串表示。
hsfzxjy 2012-11-03
  • 打赏
  • 举报
回复
16进制浮点为什么没有小数点?
hsfzxjy 2012-11-02
  • 打赏
  • 举报
回复
啥??你delphi没装完整吧。。
wuwenzhe 2012-11-02
  • 打赏
  • 举报
回复
我new了一个form,之后拖了一个button,在按钮响应程序里拷贝了你的代码,但是ctrl+F9执行的时候,弹出来这样的错误:could not find program,'…\Bin\IpAccessServer.exe'
什么意思?
wuwenzhe 2012-11-02
  • 打赏
  • 举报
回复
我是新手,在delphi7的环境下,怎么测试?new一个form吗?
蓝色光芒 2012-11-02
  • 打赏
  • 举报
回复
你可以试一下不就知道了,给了一个ShowMessage显示结果的呀
wuwenzhe 2012-11-02
  • 打赏
  • 举报
回复
Int64是整数 我要的结果是实数
蓝色光芒 2012-11-02
  • 打赏
  • 举报
回复
var
S : String;
D : Double;
begin
S := '405C7107AD9735B3';
//一行就搞定了
PInt64(@D)^ := StrToInt64('$' + S);

ShowMessage(FloatToStr(D));
end;

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧