博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
个人写的十进制与二进制的互转,C++源码,控制台可直接运行
阅读量:5775 次
发布时间:2019-06-18

本文共 1006 字,大约阅读时间需要 3 分钟。

#include<iostream>

using namespace std;

/*

int main()

 {

int number;//number取整数,若有小数位则舍去

cout<<"请输入一个正整数:"<<endl;

while(true){

 cin>>number;

char a[100];

unsigned int k=0;

if(number<0)

cout<<number<<"为负值,请输入一个正整数:";

else if(number==0)

cout<<"二进制值为:0";

else{

while(number>0)

{

if(number%2==0)//相当于if((number&1)==0)能被2整除

a[k++]='0';

else

a[k++]='1';

number=number/2;//相当于nmber>>=1,即二进制位数向右移动一位除以2

}

cout<<"二进制值为:";

for(int j=k-1;j>=0;j--)

cout<<a[j];

}

cout<<endl;

}

return 0;

 }

 */

 //将10进制数转换为2进制数

void ito2(int n)

{
    int i = n % 2;
    if (n>=2)
    {
         ito2(n / 2);
    }
    cout <<i;
}

///

 /*

int main()

{

cout<<"请输入一个二进制数:"<<endl;

char a[30];

int i,j,k;

while(true){

cin>>a;

int sum=0,len,temp;

len=strlen(a);

for(k=0;k<len;k++)

if(a[k]!='1'&&a[k]!='0'){

k=0;

cout<<"输入的数值非法!"<<endl;

break;}

for(i=0,j=len-1;i<len,j>=0;i++,j--)

{

if(k==0) break;

   temp=(a[i]=='1')?1:0;

   sum+=temp*int(pow(2,j));

}

if(k==0) continue;

else

cout<<"十进制值为:"<<sum<<endl;

}

return 0;

}

*/

//将2进制数转换为10进制数

 

转载于:https://my.oschina.net/urlove/blog/421938

你可能感兴趣的文章
hiho一下122周 后缀数组三·重复旋律
查看>>
浏览器的操作
查看>>
34、什么是正则的贪婪匹配?
查看>>
jquery异步ajax超大长度base64图片长字段数据传输问题解决办法和php后台处理办法...
查看>>
Windows Server2008如何打开添加IIS服务器
查看>>
T009 成绩转换
查看>>
MyBatis的简介及其基本使用
查看>>
java实验2
查看>>
C++中class设置思路模板
查看>>
CDZSC_2015寒假新人(2)——数学 C
查看>>
JS中的逻辑运算符&&、||,位运算符|,&
查看>>
kubenetes 相关命令(转载)
查看>>
libdrizzle安装
查看>>
rancher的Ingress的文件大小上传限制配置
查看>>
[转]Ubuntu16.04安装搜狗输入法
查看>>
C#语言学习--基础部分(十九)继承
查看>>
[leetcode-36-Valid Sudoku]
查看>>
[leetcode-572-Subtree of Another Tree]
查看>>
阿里云centos下搭建vsftpd,被动模式出现的问题
查看>>
实验四
查看>>