汇编如何输出浮点数?

blackHMY 2006-12-23 04:12:01
有没有简单的方法哈?用 wsprint 可以么?
...全文
508 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
大熊猫侯佩 2006-12-23
  • 打赏
  • 举报
回复
.386
.model flat, stdcall
option casemap :none

include windows.inc
include user32.inc
include kernel32.inc
includelib kernel32.lib
includelib user32.lib

_sprintf typedef PROTO C :DWORD,:VARARG
sprintf typedef ptr _sprintf

.const
cp db 'windows 2003',0
dllname db 'msvcrt.dll',0
fucname db 'sprintf',0
ft db 'my name is %s,age is %f',0
name0 db 'hopy',0
age0 dq 99.987
.data?
fucaddr sprintf ?
buf db 256 dup(?)

.code
start:
invoke LoadLibrary,addr dllname
invoke GetProcAddress,eax,addr fucname
mov fucaddr,eax

invoke fucaddr,addr buf,addr ft,addr name0,age0
invoke MessageBox,NULL,addr buf,addr cp,MB_OK

invoke ExitProcess,NULL

end start
blackHMY 2006-12-23
  • 打赏
  • 举报
回复
我是菜鸟
blackHMY 2006-12-23
  • 打赏
  • 举报
回复
能不能给个例子?谢谢
大熊猫侯佩 2006-12-23
  • 打赏
  • 举报
回复
0 这个已经有N多人问过了 :)

1 再说一遍吧:

在win32下的wsprintf不能输出浮点数,但是使用 vc++ 运行库 msvcrt.dll
中的 sprintf 函数的 %f 参数进行显示可以完成浮点数的显示

2 还有一种办法是你自己研究ieee754标准,不过过于麻烦了。

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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