高手解释一下arm公司给出的置位操作函数(C语言代码)

2024-12-01 19:11:17
推荐回答(2个)
回答1:

bwXXXX是你需要设置的那个数的位数
bsXXXX是你需要设置的数需要左移的位数

比方说现在有一个数是0x12345678;
你想把8-11位设置为3,那么
bw就是4(8-11是4位数)
bs就是8,因为是从bit8开始,所以要左移8位

#define bwTEST 4
#define bsTEST 8

那么
INT i=0x12345678;
SET_BITS(i, TEST, 3);

回答2:

位操作你需要懂二进制。而且还需要知道从二进制转到16进制或者10进制的算法,然后你需要一个一个来算出来才能知道是怎么样运算的,我看见二进制就头疼,也不会,不好意思了