zoukankan      html  css  js  c++  java
  • C++十进制转换为二进制

    题目内容:将十进制整数转换成二进制数。

    输入描述:输入数据中含有不多于50个的整数n(-231<n<231)

    输出描述:对于每个n,以11位的宽度右对齐输入n值,然后输出“-->”,再然后输出二进制数。每个整数n的输出,独立占一行。

    题目分析:将某个数从十进制转为二进制的具体方法是,该数对2取余,结果要么为1要么为0,此为该数对应二进制的末位;然后该数除以二,得到的商再次对2取余,结果为对应二进制的倒数第二位……以此类推,知道除以2的结果为0

    参考代码:

    #include <iostream>
    #include <fstream>
    #include <string>
    #include <algorithm>
    using namespace std;
    
    string s;
    int main(int argc,char * argv[])
    {
        int n;
        while(cin>>n)
        {
            if(n==0)
            {
                    cout<<"          0-->0
    ";
                    continue;
            }
            s=" ";
            for(int a=n;a;a=a/2)
            {
                    s=s+(a%2?'1':'0');
            }
            std::reverse(s.begin(),s.end());
            const char *sss=s.c_str();
            cout.width(11);
            cout<<n<<(n<0?"-->-":"-->")<<sss<<"
    ";
        }
        system("pause");
        return 0;
    }
    

    效果如图:

  • 相关阅读:
    【HDOJ】2102 A计划
    this关键字
    static(静态、修饰符)
    手势抽取过程&代码复用
    Android:padding和android:layout_margin的区别
    平移动画
    读取系统联系人
    获取sim卡序列号
    图片选择器
    md5加密过程
  • 原文地址:https://www.cnblogs.com/cysolo/p/3380920.html
Copyright © 2011-2022 走看看