标题:如何在内嵌汇编中将两个 int 型的数乘法运算出的结果保留小数
只看楼主
eternuii
Rank: 1
等 级:新手上路
威 望:1
帖 子:27
专家分:0
注 册:2014-10-22
结帖率:83.33%
已结贴  问题点数:20 回复次数:10 
如何在内嵌汇编中将两个 int 型的数乘法运算出的结果保留小数
rt如何在内嵌汇编中将两个int型的数乘法运算出的结果保留小数
搜索更多相关主题的帖子: 如何 
2014-11-25 11:52
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:0 
int数相乘还是int型 哪来的小数。。
2014-11-25 12:11
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:0 
楼主可能说的是除法吧?

活到老,学到老! http://www. E-mail:hu-jj@
2014-11-25 19:07
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:15 
程序代码:
int main(int argc, char* argv[])
{
    int a=1199;
    int b=3;
    double c=0.0;
    _asm
    {
        fld   a;
        fdiv  b;
        fstp  qword ptr c;

    }
    printf("结果为%.2lf\n",c);
    return 0;
}

DO IT YOURSELF !
2014-11-26 13:22
eternuii
Rank: 1
等 级:新手上路
威 望:1
帖 子:27
专家分:0
注 册:2014-10-22
得分:0 
回复 3 楼 hu9jj
是嗒
2014-11-26 15:07
eternuii
Rank: 1
等 级:新手上路
威 望:1
帖 子:27
专家分:0
注 册:2014-10-22
得分:0 
回复 4 楼 wp231957
谢谢版主回复😊  我去试一下~
2014-11-26 15:10
eternuii
Rank: 1
等 级:新手上路
威 望:1
帖 子:27
专家分:0
注 册:2014-10-22
得分:0 
回复 2 楼 zklhp
😂写错了  不好意思。。。嘿嘿
2014-11-26 15:14
eternuii
Rank: 1
等 级:新手上路
威 望:1
帖 子:27
专家分:0
注 册:2014-10-22
得分:0 
回复 4 楼 wp231957
版主问一下 为什么打印c不显示正确结果。。。出来的是0.00
另外 这个浮点数可以放进eax么 还是有什么专门放float的寄存器???
2014-11-26 16:15
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:5 
有专门的浮点寄存器
不能放到EAX中

至于0.0的问题   我这里用vs2010是没问题的
不知你用的是神马

DO IT YOURSELF !
2014-11-26 16:28
eternuii
Rank: 1
等 级:新手上路
威 望:1
帖 子:27
专家分:0
注 册:2014-10-22
得分:0 
回复 9 楼 wp231957
嗯 谢谢回复 我去查下寄存器的问题。。  我用的visual c++ 2010.。。
2014-11-26 16:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-439134-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.967762 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved