#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 = 1;
cout << "a:" << endl;
char *str = getBit(a);
cout << "二进制" << setfill('0') << setw(8) << str << endl;
cout << "十进制" << (int)toBit(str) << endl;
delete str;
cout << "a >> " << (int)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.12 右移
最新推荐文章于 2023-08-28 08:25:26 发布