C 高精度整數,大數的進製轉換

2021-09-14 07:27:34 字數 1937 閱讀 6772

附 c++ **:

//

// 62.cpp

// 進製轉換

//// created by chenmeiqi on 2019/4/1.

//#include #include using namespace std;

unsigned long max_len;

struct biginteger

else}}

res+=s; // 結果字串拼接

}return res;

};biginteger operator + (const biginteger & b) const;

bool ifcarry=false; // 是否進製

int carry=0; // 進製值

int index=0; // 在第幾位進製

res.size =max(size, b.size);

for (int i=0; i9999)

carry=res.digit[i]/10000;

res.digit[i]=res.digit[i]%10000;

}if(ifcarry && index==res.size-1)

if(ifcarry && index==res.size-2)

return res;

};biginteger operator * (int x) const;

bool ifcarry=false; // 是否進製

int carry=0; // 進製

int index=0; // 在第幾位進製

res.size =size;

for (int i=0; i9999)

carry=res.digit[i]/10000;

res.digit[i]=res.digit[i]%10000;

}if(ifcarry && index==res.size-1)

return res;

};biginteger operator / (int x)const;

int reminder=0; // 餘數

res.size =size;

for (int i=res.size-1; i>=0; i--)

if(res.size==1 && digit[0]1 && digit[res.size-1]=0; i--)

return reminder;

}};biginteger stringtobigint(string s);

n.size=0;

int s_len=s.length();

int len=0;

if(s_len%4!=0)

else

for(int i=0;i=pos; j-=1)

n.size=i+1;

}return n;

}int main(int argc, const char * ar**) ; // hex_in 的幾次方

biginteger r=; // 轉換成的 10 進製數

string res="";

while (cin>>hex_in>>hex_out>>n)

else

r=a*temp+r;

a=a*hex_in;

}while (r.out()!="0")

cout<

}return 0;

}

高精度整數的進製轉換

十進位制轉換為某進製 除基取餘法 題目描述 將m進製的數x轉換為n進製的數輸出。輸入 輸入的第一行包括兩個整數 m和n 2 m,n 36 下面的一行輸入乙個數x,x是m進製的數,現在要求你將m進製的數x轉換成n進製的數輸出。輸出 輸出x的n進製表示的數。樣例輸入 16 10 f樣例輸出 15輸入時字...

進製轉換 高精度除法 進製轉換

高精度除法運算 include include include using namespace std struct bign bign change char str return a bign divide bign a,int b,int r 去除前導0 while c.len 1 1 c.d...

高精度進製轉換模板

高精度進製轉換模板 高精度進製轉換 把oldbase 進製的數轉化為newbase 進製的數輸出。呼叫方法,輸入str,oldbase newbase.change solve output 也可以修改output 使符合要求,或者存入另外乙個字元陣列,備用 include include defi...