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

2019-07-21 05:13发布

Value = 127*this.pToneMsg->Volume/(256/16);    这段代码是把八位数据扩展到十二位  其中this.pToneMsg->Volume的取值为0-255;帮忙解答一下,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
wangmingwei093
1楼-- · 2019-07-21 05:30
 精彩回答 2  元偷偷看……
sukie
2楼-- · 2019-07-21 05:38
wangmingwei093 发表于 2019-2-18 15:14
帮顶,有个疑问,this.pToneMsg->Volume的数据类型如果是uchar型的,结果不应该还是这个类型的吗?况且也没 ...

this.pToneMsg->Volume的数据类型是unsigned int
wangmingwei093
3楼-- · 2019-07-21 05:42
sukie 发表于 2019-2-18 15:25
this.pToneMsg->Volume的数据类型是unsigned int

哦,那cpu应该是16位的吧?
wangmingwei093
4楼-- · 2019-07-21 08:22
wangmingwei093 发表于 2019-2-18 15:32
哦,那cpu应该是16位的吧?

不知道我的说法对不对,不过这里int是不是16位的呢?我觉着只有16位能说的过去,如果是32位的说不过去呀,难道我算错了吗?
edmund1234
5楼-- · 2019-07-21 13:09
没12位这个选项的, 16位吧

Value = (unsigned short)(this.pToneMsg->Volume>>12)*127;
sukie
6楼-- · 2019-07-21 15:08
 精彩回答 2  元偷偷看……

一周热门 更多>