進製轉換(Q進製轉換成T進製)

2022-09-19 06:06:12 字數 956 閱讀 1069

給定乙個整數q(2<=q<=10),乙個非空字串,以及另乙個整數t(2<=t<=10), 程式設計要求過濾掉字串中所有非q進製數對應的字元組成乙個新的字串,該字串無正負號,將該字串表示的q進製數轉換為t進製數的字串輸出。

第一行輸入乙個整數q, 代表q進製(2<=q<=10)

第二行輸入以回車結束的一行非空字串。

第三行輸入乙個整數t, 代表要轉換成t進製

第一步,讀

入乙個數代表q進製字元,例如q是5,則讀入的就是0,1,2,3,4,(5進製最大能讀到4),如果不符合則跳過。如果是就加到sum裡。相當於在讀完字串的時候,q進製數就已經轉成十進位制數 sum 了。

第二步,把十進位制的sun轉換為輸入的t進製數。

**實現:

#include

int main()

scanf("%d", &t);

if (t == 10)

int cur = 0, a[100000];

while (sum != 0)

for (int i = cur - 1; i >= 0; i--)

printf("%d", a[i]);

return 0;

}因為此題限制在2到10進製,所以當t=10時,直接輸出sum即可。

否則將對t取餘的數存入陣列中最後輸出。

執行結果:

任意進製轉換10進製和10進製轉換成任意進製

原理 輸入是乙個字串,由函式體轉換成數 考慮是否溢位int範圍 include using namespace std include typedef long long ll 這個具體要看要求,如果給的輸入是否會超過乙個int的範圍 include ll transdec string num,i...

10進製數轉換成16進製制

十六進製制的元素個數固定,而且還有對應編號,可以用查表法.乙個int型別十進位制數在32位作業系統中佔4個位元組,32位2進製數取它的低8位,例如60,在記憶體中以二進位制數0011 1100存放,而乙個十六進製制數中每一位數對應二進位制中4位數,因此可以將十進位制數與f進行 與 運算,得出低四位 ...

10進製數轉換成2進製數

2.十進位制轉換成二進位制 演算法 利用while語句 當所輸入的數不為1時,執行while迴圈 在while迴圈中將輸入的數插入順序棧中 只支援整形資料 include using namespace std const int stacksize 10 class seqstack seqsta...