进制的转换,二进制转十进制,十进制转二进制
程序员文章站
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,并没有给数组,这里要根据题目具体情况,看看是否还需要进行其他的运算
上一篇: Parity 錢包合約漏洞
下一篇: c 十进制转二进制