嗨,我正在使用 MikroC 对微控制器进行编程,并且我有这个小于 1024 (2^10bit) 的变量,我需要将其转换int value;
为unsigned char value8bits;
并将最低有效位放入unsigned char value2bits;
我实际上在考虑使用 >> 位移不知道怎么做?所以你怎么看 ?
嗨,我正在使用 MikroC 对微控制器进行编程,并且我有这个小于 1024 (2^10bit) 的变量,我需要将其转换int value;
为unsigned char value8bits;
并将最低有效位放入unsigned char value2bits;
我实际上在考虑使用 >> 位移不知道怎么做?所以你怎么看 ?
10bitvar = 956;
8bitvar = (10bitvar >> 2) & 0xff;
2bitvar = (10bitvar & 0x03);
10bitvar = 1 1 1 0 1 1 1 1 1 0
(10bitvar >> 2) = ? ? 1 1 1 0 1 1 1 1
& & & & & & & & &
0xff = 1 1 1 1 1 1 1 1
----------------
8bitvar 1 1 1 0 1 1 1 1
10bitvar = 1 1 1 0 1 1 1 1 1 0
& & & & & & & & &
0x03 = 0 0 0 0 0 0 1 1
----------------
2bitvar 0 0 0 0 0 0 1 0