问题标题: 酷町堂:2470 转换进制2 求解

0
0

0
已采纳
丁浩然
丁浩然
新手光能
新手光能

此题可以先把八进制转换为十进制,再把十进制转换为二进制

八进制转为十进制时,要先把每一位提取出来,再乘上8的某某次方,最后拿累加器加上乘得的结果:

while(n)
  {
    x=n%10;
    y+=(x*pow(8,s));
    n/=10;
    s++;
  }
十进制转换为二进制时,采取先模2求余,再倒序输出:

while(y)
  {
    p[++b]=y%2;
    y/=2;
  }
  for(int i=b; i>=1; --i)
    cout<<p[i];
因10^5=100000,用int不会爆,定义数组时稍大一些即可

0
0
我要回答