IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    c++ 二进制输出

    聂文龙发表于 2018-01-06 16:58:00
    love 0
    有如下几种方法:
    #include 〈iostream〉
    #include 〈list〉
    #include 〈bitset〉
    using namespace std;

    1.//递归输出二进制函数
    void BinaryRecursion(int n)
    {
    int a;
    a=n%2;
    n=a;
    if (n==0)
    return;
    else
    BinaryRecursion(n);
    cout〈〈a;
    }

    2.//使用容器转换二进制
    void BinaryVector(int n)
    {
    int temp;
    temp=n;
    list〈int〉 L;
    while(temp!=0)
    {
    L.push_front(temp%2);
    temp=temp〉〉1;
    }
    for (list〈int〉::iterator iter=L.begin();iter!=L.end();iter++ )
    cout〈〈*iter;
    cout〈〈endl;
    }

    3.//一般方法,32位,逐步与1做与运算。
    void Binarycout(int n)
    {
    for (int i=31;i〉=0;i--)
    {
    cout〈〈((n〉〉i)&1);
    }
    cout〈〈endl;
    }

    4.//使用bitset转换二进制
    void BinaryBitset(int n)
    {
    cout〈〈bitset〈sizeof(int)*8〉(n)〈〈endl;
    }
    int main()
    {
    int a=1045,b=2;
    int c;
    c=a+b;
    cout〈〈"BinaryRecursion(c):";
    BinaryRecursion(c);
    cout〈 BinaryVector(c);
    cout〈〈"Binarycout(c):";
    Binarycout(c);
    cout〈〈"BinaryBitset(c):";
    BinaryBitset(c);
    cout〈〈"BinaryChar(c):";
    BinaryChar(c);
    //cout〈 return 0;
    }




    输出没有直接显示二进制的 ,能通过其他库函数转换一下

    int decimal = 200;
    char binary[255];
    itoa(decimal, binary, 2);
    cout << binary;
    @import url(http://www.cppblog.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

    聂文龙 2018-01-07 00:58 发表评论


沪ICP备19023445号-2号
友情链接