早教吧 育儿知识 作业答案 考试题库 百科 知识分享

mfc一个字符8位如何将两两位转化为0-3的整数我知道一个字符是一个字节的,一个字节有8位,现在如何把这8位按顺序取出2位,组成4对,把这4对当做是二进制,然后把他们转化为十进制数(

题目详情
mfc 一个字符8位如何将两两位转化为0-3的整数
我知道一个字符是一个字节的,一个字节有8位,现在如何把这8位按顺序取出2位,组成4对,把这4对当做是二进制,然后把他们转化为十进制数(2位二进制转化为十进制只能是0,1,2,3)。怎么做?
▼优质解答
答案和解析

用位运算符中的按位与和移位就能做到了。下面的ch & 3,3的二进制是11,按位与就能取出ch的低2位,之后ch再自身右移两位即可。

#include <stdio.h>
int main()
{
\x09unsigned char ch = 'A';
\x09int i;
\x09for (i = 0 ; i < 4; i++){
\x09\x09printf("%d", ch & 3);
\x09\x09ch >>= 2;
\x09}
}