回 帖 发 新 帖 刷新版面

主题:有关类型转换

m_floatfuyangjiao=(float)((*(yaoce+3))/10.-90);其中m_floatfuyangjiao为float,unsigned char yaoce【32】,我写的是这句,师兄改成m_floatfuyangjiao =(float)(*((unsigned short*)(yaoce+3))/10.-90);我想知道原因,从double到float为什么要个unsigned short中间类型。

回复列表 (共1个回复)

沙发

*((unsigned short*)(yaoce+3))和*(yaoce+3)有本质区别:前者的值是yaoce[4] * 256 + yaoce[3];而后者的值是yaoce[3]。

我来回复

您尚未登录,请登录后再回复。点此登录或注册