两种bitcpy的实现方式

1. 显示数据bits

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#define HALF_WORD   uint16_t
#define WORD uint32_t
void showBits(void* d, int len) {
int bytes = len / 8;
unsigned char* p = (unsigned char*)d;
for (int i = 0; i < bytes; i++) {
unsigned char tmp = 0x80;
for (int j = 0; j < 8; j++) {
if (tmp & *p)
printf("1");
else
printf("0");
tmp >>= 1;
}
printf(" ");
++p;
}
printf("\n");
}

2. bitcpy 算术方式

拷贝方式是从单个字节的低位开始拷贝,进位式拷贝。

阅读全文 »