問題描述
給定n個十六進製制正整數,輸出它們對應的八進位制數。
輸入格式
輸入的第一行為乙個正整數n (1<=n<=10)。
接下來n行,每行乙個由0~9、大寫字母a~f組成的字串,表示要轉換的十六進製制正整數,每個十六進製制數長度不超過100000。
輸出格式
輸出n行,每行為輸入對應的八進位制正整數。
【注意】
輸入的十六進製制數不會有前導0,比如012a。
輸出的八進位制數也不能有前導0。
樣例輸入239
123abc
樣例輸出
714435274
【提示】
先將十六進製制數轉換成某進製數,再由某進製數轉換成八進位制。
我本以為是連續輸入後才連續輸出,起始是要你輸入乙個就輸出乙個
#include#includeusing
namespace
std;
intmain()
}///每三個構成的數為8進製,湊s2成3的倍數
if(s2.length()%3==1
) s2="
00"+s2;
if(s2.length()%3==2
) s2="
0"+s2;
//用於排斥前面的0;
int flag=0
;
for(int k=0;k2;k+=3
)
cout
<}
return0;
}
十六進製制整數
大的二進位制數讀起來很麻煩,因此十六進製制數字就提供了一種簡便的方式來表示二進位制資料。十六進製制整數中的 1 個數字就表示了 4 位二進位制位,兩個十六進製制數字就能表示乙個位元組。乙個十六進製制數字表示的範圍是十進位制數 0 到 15,所以,用字母 a 到 f 來代表十進位制數 10 到 15。...
十六進製制整數
大的二進位制數讀起來很麻煩,因此十六進製制數字就提供了一種簡便的方式來表示二進位制資料。十六進製制整數中的 1 個數字就表示了 4 位二進位制位,兩個十六進製制數字就能表示乙個位元組。乙個十六進製制數字表示的範圍是十進位制數 0 到 15,所以,用字母 a 到 f 來代表十進位制數 10 到 15。...
十六進製製大整數加法
十六進製製大整數加法 20分 問題描述 編寫程式,從鍵盤讀入形如x y 的表示式計算結果,其中x和y都是合法且長度不超過64位的十六進製製非負整數,結果中所有字元均大寫且無多餘的零。樣例1 輸入1234 1234輸出0x2468 樣例2 輸入0000 12a 輸出0x12a 樣例3 輸入12ff 1...