首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

位操作解决思路

2013-08-04 
位操作有两个数字,第一数字是5个字节(用byte数组保存), 第2个数字用16位的short保存取第一个数字里的某些

位操作
有两个数字,第一数字是5个字节(用byte数组保存), 第2个数字用16位的short保存

取第一个数字里的某些位(一共取16位)看,对第二个数字赋值,如何做?


比如我要去除第一个数字的1,2个bit位,对第二个数字的,第0,1位赋值,如何做?

[解决办法]


b &= ~3;

[解决办法]
= (a[0] >> 1) & 3;


引用:
Quote: 引用:


unsigned char a[5];
unsigned short b;
...
b = a[0] 
[解决办法]
 (a[1] << 8);


不对额, 我说的是第一1个字节的第1位,第2位 ,取出这2位来赋值给 b的 第0为何第1位。

热点排行