谁能告诉我一种在C中用二进制表示字符的好方法?
我需要将给定字符视为 1 和 0 的序列。
例如,如果我输入 'a'
,我希望将其视为 01100001 并最终返回 00010110 (带有反转半字节的字节)。
用起来好不好unigned char
?我应该使用 8 元素整数数组来存储字节吗?
int main(void){
unsigned char c = 'a';
return 0;
}
最佳答案
a byte with inverted nibbles
由于您似乎不关心 8 位以外的字符,因此您可以这样做 c = c<<4|c>>4
.
关于c - ANSI C 中字符的位操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60166632/