description
在實際問題中經常遇到需要對不同的進製數進行轉換,實現將p進製數轉換成r進製數(2<=p,r<=16)
input
資料報含多行,每行包含三個資料,分別為p,r和待轉換的p進製數d(該數的十進位制表示小於100000000),字母用大寫表示,abcdef,當p為0時,結束輸入。
output
對應每行輸入,只有乙個輸出,且每行只有乙個資料
sample input
10 16 15516 8 1a
0 0 0
sample output
9b32
首先將p進製數d轉換成十進位制,然後再轉換成r進製數。注意pow函式可能會產生的誤差。
[cpp]view plain
copy
#include
#include
intmain()
//將十進位制以上的進製的數轉換成純數字
long
sum=0;
for(i=0;i
sum=sum*p+d[i];//計算對應的十進位制數
aa(sum,r);//轉換成r進製數
printf("\n"
);
} return
0;
} void
aa(unsigned
inti ,
intx)
//輸出對應進製的數
codeup 問題 B 數制轉換
題目描述 求任意兩個不同進製非負整數的轉換 2進製 16進製制 所給整數在long所能表達的範圍之內。不同進製的表示符號為 0,1,9,a,b,f 或者 0,1,9,a,b,f 輸入 輸入只有一行,包含三個整數a,n,b。a表示其後的n 是a進製整數,b表示欲將a進製整數n轉換成b進製整數。a,b是...
演算法筆記問題 B 數制轉換
注意的點是輸入的帶字母的可能有大寫也有小寫。題目描述 求任意兩個不同進製非負整數的轉換 2進製 16進製制 所給整數在long所能表達的範圍之內。不同進製的表示符號為 0,1,9,a,b,f 或者 0,1,9,a,b,f include include using namespace std cha...
shell 數制轉換
shell 指令碼預設數值是由10 進製數處理,除非這個數字某種特殊的標記法或字首開頭.才可以表示其它進製型別數值。如 以 0 開頭就是 8 進製.以0x 開頭就是16 進製數.使用 base number 這種形式可以表示其它進製.base值 2 64.使用方法 八進位制轉十進位制 charles...