c/c++代码 No.12 右移

来源:互联网 发布:淘宝实木花架中式图片 编辑:程序博客网 时间:2024/04/29 08:15
#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;}
0 0