返回信息流在做代码优化,写了一段测试代码,想看_hi()的功能
void main()
{
short delta_now[4]={0x0004,0x0008};
double c;
c=_amem4_const(delta_now);
d=_hi(c);
}
c的值是对的,是0x00080004,但是d就没能取出c的高一半的值,结果是:1092616200,化成十六进制是:0x41200008,为神马啊为神马。。求大神指点~
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #13245同步于 2013/5/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖
有米有用ccs做开发的啊,求大神指点~~
mystep
2013/5/15镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
前面的412是怎么回事呢?为什么结果不是0x0008呢,谢啦~嘿嘿
【 在 nickluchen 的大作中提到: 】
: 0008不是已经放到d的低16位里了么
又看了下manual(spru187u),发现记错了。
double类型会放到寄存器对(俩寄存器,一共64位)里,_hi会取出高32位(奇数寄存器)然后返回
最后用_hill()奏可以了。。不明真相。。还是谢谢啦~~
【 在 nickluchen 的大作中提到: 】
: 又看了下manual(spru187u),发现记错了。
: double类型会放到寄存器对(俩寄存器,一共64位)里,_hi会取出高32位(奇数寄存器)然后返回