[C++] 纯文本查看 复制代码 #include<bits/stdc++.h>
using namespace std;
int main()
{
char a[100],b[100];
int a1[100],b1[100],c[100];
cin>>a>>b;
int jw=0;
int al=strlen(a),bl=strlen(b);
int len=max(strlen(a),strlen(b))
for(int i=al-1;i>=0;i++)
{
a1[i]=a[al-i-1]-'0';
}
for(int i=bl-1;i>=0;i++)
{
b1[i]=b[bl-i-1]-'0';
}
for(int i=0;i<len;i++)
{
c[i]=(a1[i]+b1[i]+jw)%10;
jw=(a1[i]+b1[i]+jw)/10;
}
int flag=0;
}
[C++] 纯文本查看 复制代码 void g_2to8()//高精度2进制转8进制
{
char a[10000];
int b[3333];
int cnt=0;
cin>>a;//输入
for(int i=strlen(a)-1;i>=0;i--)
{
b[cnt/3]+=(a[i]-'0')*pow(2,(strlen(a)-1-i)%3);//b每三位加上a[i]减字符0,乘2的几次方
cnt++;//cnt加1
}
for(int i=(cnt-1)/3;i>=0;i--)//i从(cnt-1)开始
cout<<b[i];//输出
}
void g_8to2()//高精度8进制转2进制
{
int n=0;
char a[1000];
char b[3000];
cin>>a;//输入
for(int i=0;i<strlen(a);i++)
{
b[n+2]=(a[i]-'0')%2+'0';
b[n+1]=((a[i]-'0')/2)%2+'0';
b[n]=((a[i]-'0')/2/2)%2+'0';
//把八进制每一位分成3位二进制
n+=3;//计数器加3
}
//cout<<b<<endl;
int flag=1;
for(int i=0;i<n;i++)
{
if((flag==1)&&(b[i]=='0')){}//如果是b[i]第一位且等于0 下一轮循环
else
{
cout<<b[i];//输出
flag=0;//标志位等于0
}
}
} |