C-如何获取Char中的4个最低有效位

San*_*rdo 2 c bit

我是C语言的新手,我正试图从一个无符号字符中获取4个最低有效位。到目前为止,我还不知道如何获得它们。我将不胜感激

tad*_*man 5

这是简单的按位逻辑:

unsigned char c = 120;
unsigned char lsb4 = c & 0x0F;
Run Code Online (Sandbox Code Playgroud)

其中0x0F代表二进制值00001111

如果您使用的是GCC,则更确切地说:

unsigned char lsb4 = c & 0b00001111;
Run Code Online (Sandbox Code Playgroud)

从技术上讲,0这里不需要前导s,但是将其包括在内以帮助说明正在选择的位。