zoukankan      html  css  js  c++  java
  • double和float类型变量在汇编角度怎么区分

    float是占用四个字节,double是栈用8个字节的。

    	float a=5;
    	double b=5;
    	printf("%lf",a+b);
    	return 0;
    

     对应的汇编代码

    00401028  |.  C745 FC 0000A>mov [local.1],0x40A00000
    0040102F  |.  C745 F4 00000>mov [local.3],0x0
    00401036  |.  C745 F8 00001>mov [local.2],0x40140000
    0040103D  |.  D945 FC       fld [local.1]
    00401040  |.  DC45 F4       fadd qword ptr ss:[ebp-0xC]
    00401043  |.  83EC 08       sub esp,0x8
    00401046  |.  DD1C24        fstp qword ptr ss:[esp]

    fdd 中有一个qword ptr 意思是说你操作的是一个8个字节的数据,那么这个变量就是double的变量了。

  • 相关阅读:
    Document
    Document
    Document
    Document
    Document
    Document
    Document
    Document
    8.React 组件封装
    window.location / history / 以及相关事件
  • 原文地址:https://www.cnblogs.com/yfish/p/15437779.html
Copyright © 2011-2022 走看看