好的,假设我有一个值为 -103 的有符号字符:
char s_char = -103;
计算机如何按位存储这个字符?第一位是 0 因为 char 是负数吗?如果是这样,计算机会将字符存储为 01100101,因为 1100101(基数 2)在基数 10 中是 103?
第二个问题:如何访问或测试签名字符中的单个位?会
s_char & (0x80 >> pos)
给我从左边数的pos位置的位的值?
最佳答案
char
只是一个整数。大多数情况下为 8 位整数。所以 -103
就是:
10011001
要访问 char
中的单个位,您可以像访问任何其他整数一样执行此操作:
char s_char = -103;
s_char & (1 << n)
将为您获取倒数第 n 位。
关于c++ - Microsoft Visual C++ 如何存储带符号的字符以及如何测试带符号的字符中的各个位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8671623/