位运算符—输出字符的二进制

  • 2017-03-22
  • 91
  • 0

使用移位运算符和位与运算符输出字符的二进制。
使用左移位(<<)可用128(二进制10000000)与字符做与运算,来求得每次最高位是0或1。

或使用右移位(>>)可用1(二进制00000001)与字符作与运算,来求得每次最低位是0或1。

示例代码如下

#include <iostream>
using namespace std;
int main(int argc, const char * argv[]) {
    int i,bin[8];
    char c = 'h';  //示例字符h(二进制01101000)
    for(i = 7;i >= 0;i--)
    {
        bin[i] = (c & 1);  判断最低位0或1
        c = c >> 1;   //右移一位
    }
    for(i = 0;i < 8;i++)
    {
        cout << bin[i];
    }
    cout <<endl;
    return 0;
}

 

评论

还没有任何评论,你来说两句吧