C语言中如何把16个一位数合并成一个16位数。
答案:2 悬赏:20 手机版
解决时间 2021-01-25 08:30
- 提问者网友:孤山下
- 2021-01-24 12:08
DSP的IO口接收的16个独立的外部数据分别是a15,a14.....a0;把这16个数合并成一个数给变量data如何实现。不好意思 暂时没有财富值了
最佳答案
- 五星知识达人网友:傲气稳了全场
- 2021-01-24 12:40
晕...呵呵,那我复制过来了 ~~~
用移位符"<<"
比如说这样:
int main()
{
long a=0x6543,b; //定义a为16位们的二进制数(用16进制表示)
b=a>>8; //把a的二进制值的后8位移走,就剩前8位了
printf("a=%x\nb=%x\n",b); //打印出移位前和移位后的十六进制值.
return 0;
}
用移位符"<<"
比如说这样:
int main()
{
long a=0x6543,b; //定义a为16位们的二进制数(用16进制表示)
b=a>>8; //把a的二进制值的后8位移走,就剩前8位了
printf("a=%x\nb=%x\n",b); //打印出移位前和移位后的十六进制值.
return 0;
}
全部回答
- 1楼网友:渡鹤影
- 2021-01-24 14:14
int data;
data = a15*pow(2,15)+a14*pow(2,14)+a13*pow(2,13)...
需要增加#include <math.h>
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯