欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

进制的转换,二进制转十进制,十进制转二进制

程序员文章站 2022-07-15 09:34:10
...

进制的转换

十进制转换为二进制
例如,5·····101,10·····1010

int s[10000]={0};
        while(n>0)
        {
            s[i]=n%2;
            n=n/2;        //把每一位存在数组当中
            i++;
        }
        int sum=0;
        for(j=i-1;j>=0;j--)
        {
            sum=sum*10+s[j];  //这里可以把整个二进制数转给sum,这样在输出时就不用了单个单个输出数组中的数了
        }

这里其实直接把转换结果给变量也是可以的,不需要再一个个的给数组中的元素,这样更简单些

int s;
while(n>0)
        {
            s=n%2+s;
            n=n/2;        //把每一位存在数组当中
            i++;
        }

这要看题目是否还对转换的结果进行其他处理,不然如果把结果直接给了一个变量,后续进行其他运算就会有点麻烦。

二进制转换为十进制
例如,101······5,1010······10

i=0;b=0;
        while(sum>0)
        {
            i=i+pow(2,b)*(sum%10);
            b++;
            sum=sum/10;
        }

我们先观察一个二进制数,101,=12的0次方+02的1次方+1*2的2次方,所以我们对一个二进制数进行处理时,对其进行余10计算处理,这样更方便些,处理的结果也是直接给了变量i,并没有给数组,这里要根据题目具体情况,看看是否还需要进行其他的运算