問題描述
給定n個十六進製制正整數,輸出它們對應的八進位制數。
輸入格式
輸入的第一行為乙個正整數n (1<=n<=10)。
接下來n行,每行乙個由0~9、大寫字母a~f組成的字串,表示要轉換的十六進製制正整數,每個十六進製制數長度不超過100000。
輸出格式
輸出n行,每行為輸入對應的八進位制正整數。
【注意】
輸入的十六進製制數不會有前導0,比如012a。
輸出的八進位制數也不能有前導0。
樣例輸入
2 39
123abc
樣例輸出
71 4435274
【提示】
先將十六進製制數轉換成某進製數,再由某進製數轉換成八進位制。
#include
#include
#include
using
namespace
std;
int main()
; map
m;m["000"] = "0"; m["001"] = "1"; m["010"] = "2"; m["011"] = "3";
m["100"] = "4"; m["101"] = "5"; m["110"] = "6"; m["111"] = "7";
for (int i = 0; i < n; i++) else
}int lenb = b.length();
if (lenb % 3 == 1) else
if (lenb % 3 == 2)
int flag = 0;
for (int j = 0; j < lenb; j += 3)
if (flag == 1 && j == 3 && t == "0")
cout
<< t;
}cout
<< endl;
b = "";
}return
0;}
十六進製制轉換成八進位制
第一次發部落格,若寫的不好,希望大家多提下意見 乙個簡單的進製轉換的問題 十六進製制轉換成八進位制 思想 先把十六進製制的數轉成二進位制,然後再把二進位制的數轉成八進位制 include include using namespace std string hextobin string hex 十...
十六進製制轉換成二進位制
public static void main string args throws exception string strs newstring length int j 0 for int i 0 i str.length i else list.addall arrays.aslist st...
公私鑰轉換成十六進製制形式
在一些情況下,我們需要將公私鑰由pem格式轉換成十六進製制來提供給第三方進行使用,openssl沒有提供命令列的轉換方式,其中實現介面如下 私鑰轉換為16進製為 bool convertpripemtohex const std string pem private key,std string h...