#include <iostream>
#include <cstring>
#include <iomanip>
using namespace std;
char* getBit(unsigned char n) {
char *str = new char[101];
int i = 0;
while (n != 0) {
str[i++] = n % 2 + '0';
n /= 2;
}
str[i] = '\0';
strrev(str);
return str;
}
char toBit(char *str) {
char n = 0;
for (int i = 0; str[i] != '\0'; i++) {
n *= 2;
n += str[i] - '0';
}
return n;
}
int main(void) {
char a = 2;
char b = 3;
cout << "a:" << endl;
char *str = getBit(a);
cout << "二进制:" << setfill('0') << setw(8) << str << endl;
cout << "十进制:" << (int)toBit(str) << endl;
delete str;
cout << "b:" << endl;
str = getBit(b);
cout << "二进制:" << setfill('0') << setw(8) << str << endl;
cout << "十进制:" << (int)toBit(str) << endl;
delete str;
cout << "a & b" << endl;
str = getBit(a & b);
cout << "二进制:" << setfill('0') << setw(8) << str << endl;
cout << "十进制:" << (int)toBit(str) << endl;
delete str;
return 0;
}
c/c++代码 No.2 位与
最新推荐文章于 2024-10-24 21:18:43 发布
本文介绍了一个使用C++实现的简单程序,该程序能够将字符型数据转换为二进制字符串并将其再转换回原始的十进制数值。通过具体的实例展示了如何进行位操作,包括按位与运算。此外,还提供了对C++标准库中用于格式化输出的setw和setfill函数的使用方法。
10万+

被折叠的 条评论
为什么被折叠?



