題目描述:
求任意兩個不同進製非負整數的轉換(二進位製到十六進製制),所給整數在long所能表達的範圍之內。
不同進製的表示符號為(0,1,...,9,a,b,...,f)或者(0,1,...,9,a,b,...,f)
輸入:輸入包含多組測試資料。每組輸入佔一行,包含3個整數a,n,b。a表示其後的n是a進製整數,b表示欲將a進製整數n轉換成b進製整數。a,b是十進位制整數,2<=a,b<=16
輸出:對於每組測試資料,輸出轉換後的b進製數,每組輸出佔一行。輸出時字母符號全部用大寫表示,即(0,1,...,9,a,b,...,f)
樣例輸入:
15 aab3 7
樣例輸出
**如下:
#include #include #include char ans[20];
long str2int(long a,char str)
for(i=0;i=48&&str[i]<=57)
n+=pow(a,k-1-i)*(str[i]-48);
else
n+=pow(a,k-1-i)*(str[i]-87);
} return n;
}int hex(long b,long n)while(n);
return i;
}void print(char str,int k)while(--k);
}int main()
}
shell 數制轉換
shell 指令碼預設數值是由10 進製數處理,除非這個數字某種特殊的標記法或字首開頭.才可以表示其它進製型別數值。如 以 0 開頭就是 8 進製.以0x 開頭就是16 進製數.使用 base number 這種形式可以表示其它進製.base值 2 64.使用方法 八進位制轉十進位制 charles...
數制的轉換
鏈棧實現數制的轉換 include using namespace std define ok 1 define error 0 define overflow 2 typedef int status define e 8 typedef struct snodesnode,linkstack s...
數制轉換問題
description 在實際問題中經常遇到需要對不同的進製數進行轉換,實現將p進製數轉換成r進製數 2 p,r 16 input 資料報含多行,每行包含三個資料,分別為p,r和待轉換的p進製數d 該數的十進位制表示小於100000000 字母用大寫表示,abcdef,當p為0時,結束輸入。outp...