c++之基础B(进制转换)(第三课)
1.前文(介绍)
2.正文
1.前文(介绍)
二进制是电脑专用的,我应该在c++第一课(基础c)-CSDN博客里讲过,只不过今天要学习的是进制转换(其实我是怕转换错误才写的)
2.正文
好了好了:
#include<bits/stdc++.h>
using namespace std;
int a[10005];
int main()
{int n,cnt=0;//余数的个数 cin>>n;for(int i=n;i>=1;i=i/2)//几进制就除以几 {cnt++;a[cnt]=i%2;}for(int i=cnt;i>=1;i--)//逆序输出 {cout<<a[i]<<" ";}return 0;
}
这是十转二进制的代码
这是一个例子:
如果你输入6
i=6
6%2= 0
6/2=3
3%2= 1
3/2=1.5=1(只能看小)
1%2= 1
(得反着输出,不然开头输出0可是不行的)
然后进入到第二个for循环
110(最终结果)
懂了?
十转八进制也一样
就是第一个for循环的第三个条件改成n/8
然后里面的a[cnt]=i%2改成a[cnt]=i%8
十转n进制也一样(当然,如果第二个你输入的数字大于你输入的第一个数字,就直接输出第一个数字了)
把上面的十转八进制的的代码改成k(你第二个输入的代码)
哎呀,这样说实在是太~听不懂了
直接上代码
#include<bits/stdc++.h>
using namespace std;
int a[10005];
int main()
{int n,cnt=0,k;//余数的个数 cin>>n>>k;for(int i=n;i>=1;i=i/k)//几进制就除以几 {cnt++;a[cnt]=i%k;}for(int i=cnt;i>=1;i--)//逆序输出 {cout<<a[i];}return 0;
}
这样就可以了
(逃!)
新手小白(基础B)