• 将十进制数转换为二进制数----不用数组,也不用函数,只用循环


    输入一个正整数(十进制),输出此整数对应的二进制数(用循环实现,但不用数组,也不用函数调用)

    /*
    输入一个正整数(十进制),输出此整数对应的二进制数(用循环实现,但不用数组)
    
    分析:十进制转换成二进制的方式:
          用辗转相除依次取余,直到商为0,获取逆序的余数序列就是对应的二进制数
          用循环不用数组,因此,将按先得到的余数序列组成一个整数值,
          再逆序输出该整数值(从低位到高位输出),即获得二进制代码
    */
    
    #include <iostream>
    using namespace std;
    int main()
    {
        int n; //待转换的十进制正整数
        int m; //存每次转换得到的余数
        int sum=0;    //进制转换逆序值
        int count=0; //记录二进制位数
        int i;
        cout<<"请输入待转换的十进制正整数:";
        cin>>n;
        while(n<0)
        {
           cout<<"请重新输入待转换的十进制正整数:";
           cin>>n;
        }
        cout<<endl;
        cout<<"十进制"<<n<<"的二进制形式为:";
        if(n==0)
        {cout<<n<<endl;
         return 0;    
        }
        while(n!=0)   //辗转相除取余到商为0
        {
          m=n%2;   //获取对应此次的余数
          count++;  //二进制位数增1
          sum=sum*10+m;   //余数按先得到顺序组成一个整数,最后反序就是2进制数
          n=n/2;
        }
        for(i=count;i>0;i--)  //循环从低位到高位逆序输出sum各个位上的数
        { cout<<sum%10; 
          sum=sum/10;
        }
        cout<<endl;
        return 0;
    }
            
        

  • 相关阅读:
    原生js 异步请求,responseXML解析
    asp.net中Page.ClientScript.RegisterStartupScript用法小结
    asp.net 在repeater控件中加按钮
    无法打开物理文件 操作系统错误 5:拒绝访问 SQL Sever
    js 注册控件的onclick事件
    js控件设置只读属性和不可用属性
    js CheckBox只读
    js时间日期格式
    js正则判断日期
    UIPickerView的使用(三)
  • 原文地址:https://www.cnblogs.com/beautiful-code/p/5239470.html
Copyright © 2020-2023  润新知