float 变量 b.
在memory 中的值为
在watch expression 中的值却是:
程序是:
asm(" MOVW DP, #0x305");
asm(" MOV ACC, @0x03");
asm(" SUB ACC, #32768");
asm(" MOVL @0x34, ACC");
ma chunhong:
值没有错呀,浮点数占32位,所以menory的值是0000116ch,转换为float就是6.249791e-42
float 变量 b.
在memory 中的值为
在watch expression 中的值却是:
程序是:
asm(" MOVW DP, #0x305");
asm(" MOV ACC, @0x03");
asm(" SUB ACC, #32768");
asm(" MOVL @0x34, ACC");
10#:
回复 ma chunhong:
楼上正确,楼主也可以在watch expression中对值选择hex格式看看。
float 变量 b.
在memory 中的值为
在watch expression 中的值却是:
程序是:
asm(" MOVW DP, #0x305");
asm(" MOV ACC, @0x03");
asm(" SUB ACC, #32768");
asm(" MOVL @0x34, ACC");
Troublemaker:
回复 ma chunhong:
我的目的是显示成116C,请问,为什么会转换成6.249791e-42
?谢谢!
float 变量 b.
在memory 中的值为
在watch expression 中的值却是:
程序是:
asm(" MOVW DP, #0x305");
asm(" MOV ACC, @0x03");
asm(" SUB ACC, #32768");
asm(" MOVL @0x34, ACC");
Troublemaker:
回复 10#:
浮点数 116C 怎么算出是6.249791e-42?
内存中的数:0 000, 0000,0 000, 0000,0001,0001,0110,1100
符号位:0
幂:0-127=-127
尾数:1.000 0000 0001 0001 0110 1100
浮点数(1.000 0000 0001 0001 0110 11)*2^(-127)
算出来不等于6.249791e-42。请问正确算法