c - 带无符号字符的位运算符

标签 c

unsigned char x = 93;
unsigned char a = x << 4;
printf("a = %d\n", a);

我确实了解位运算符的工作原理,但我不了解 x 的二进制表示形式。

a = 208 是怎么来的?

最佳答案

93 = 01011101

将左移 4 位并留下以下内容(结果中只有 8 位):

11010000 = 208

关于c - 带无符号字符的位运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5081547/

相关文章:

c - 尝试在 C 中定义两个可靠的结构

c - 使用 C 预处理器进行嵌套宏迭代

c++ - 函数名称上不明确的星号运算符

调用一个未初始化的变量,该变量是 C t 中的函数

c - 为了继续之前的语句,我的返回值是多少?

c - 如何使用 C 函数中的值

c++ - 解方程。计数 (x,y)

c - 转发 typedef 结构

c - 为什么整数除以-1(负数)会导致FPE?

c - 使用 libharu 库对 pdf 进行编码