用户3 发表于 2025-1-5 13:00:17

【求助,STC_32G float类型变量无法计算】

<p>【求助,float类型变量无法计算】</p>
<p>本程序的目的是观察浮点数是如何在寄存器中保存的</p>
<p>源代码如下:</p>
<p>`#include &lt;stc32g.h&gt;</p>
<p>void main()<br />
{<br />
float pi=0;<br />
while(1)<br />
{<br />
pi=3.14;<br />
pi=pi*2;<br />
pi=pi*3;<br />
}</p>
<p>}`</p>
<p>编译无错误,debug无法执行pi=3.14及后面语句,float换成double也不行,打断点,断点是黑色感叹号,无法执行,不知道怎么回事</p>
<p><img src="data/attachment/forum/202501/05/125409p59n5inn2j0iz2uu.png" alt="1.png" title="1.png" /></p>
<p><img src="data/attachment/forum/202501/05/125417nyj5u5of581yjcju.png" alt="2.png" title="2.png" /></p>
<p><img src="data/attachment/forum/202501/05/125423eckispbbnw3z6276.png" alt="3.png" title="3.png" /></p>
<p><img src="data/attachment/forum/202501/05/125431f6h6258hzn7yw879.png" alt="4.png" title="4.png" /></p>

health 发表于 2025-1-5 22:16:20

代码无实际有效操作,被优化掉了。
要么将优化等级设为0级,要么写点有用的操作。

DebugLab 发表于 2025-1-6 13:29:42

被优化掉了
浮点数在内存中应按IEEE-754标准
页: [1]
查看完整版本: 【求助,STC_32G float类型变量无法计算】