[应用相关] 求大神解释下这个函数

[复制链接]
 楼主| cooldog123pp 发表于 2017-7-27 14:53 | 显示全部楼层 |阅读模式
s16 Get_acc(short accx)
{
  if(accx & 0x0200)
  {
    accx = (accx-1)^0x03FF;
    accx = -(accx*16);
  }else accx=(accx*16);
  return (accx);
}

个人理解是有符号二进制转16进制但是没想通,求大神解释。
lxyppc 发表于 2017-7-27 16:46 来自手机 | 显示全部楼层
本帖最后由 lxyppc 于 2017-7-27 17:19 编辑

10位补码有符号数转16位补码有符号数并且乘以16
个人觉得 只需要return ((signed short)(accx*64))/4;就行了
文刀飘红 发表于 2017-7-27 17:29 | 显示全部楼层
对于这个问题,我手算了一遍,
例如accx为0xAA时,返回0xDA1F;
accx为0x5555时,返回0x5550
这个应该不是一般转换函数,是用在特定场合下的吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2224

主题

7415

帖子

31

粉丝
快速回复 在线客服 返回列表 返回顶部

2224

主题

7415

帖子

31

粉丝
快速回复 在线客服 返回列表 返回顶部