怎么样把八位数据扩展成12位

2019-07-21 05:13发布

Value = 127*this.pToneMsg->Volume/(256/16);    这段代码是把八位数据扩展到十二位  其中this.pToneMsg->Volume的取值为0-255;帮忙解答一下,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
sukie
1楼-- · 2019-07-21 19:04
edmund1234 发表于 2019-2-18 17:15
没12位这个选项的, 16位吧

Value = (unsigned short)(this.pToneMsg->Volume>>12)*127;

是8位扩展到12位
wangmingwei093
2楼-- · 2019-07-21 19:14
sukie 发表于 2019-2-19 14:18
是8位扩展到12位

我知道8位扩展到12位,首先数据类型没有12位呀,然后只有先将8位转换成16位,然后将16位的高4位清零,保留低12位,那不就是相当于8位扩展成12位了吗?我是这么理解的,不知道对不对
edmund1234
3楼-- · 2019-07-21 22:26
sukie 发表于 2019-2-19 14:18
是8位扩展到12位

你的变量范围是12位, 但承载这变量的容器只有8, 16, 32可选
在Value这16的容器, 放着你要的12位范围的值

一周热门 更多>