1191: 十六进制转换
[Creator : ]
Description
输入一个不超过100000位的十六进制数(正数、负数、0都有可能),请转换成八进制数。
注:十六进制数中,字母0~9还对应表示数字0~9,字母“A”(大写)表示10,“B”表示11,…,“F”表示15。比如:十六进制数A10B表示的10进制数是:10×16^3+ 1×16^2+ 0×16^1+ 11×16^0= 41227。 转换成的八进制数是:120413,因为1×8^5+ 2×8^4+ 0×8^3+ 4×8^2+ 1×8^1+ 3×8^0= 41227。
提示:考虑它们与二进制表示的关系。
注:十六进制数中,字母0~9还对应表示数字0~9,字母“A”(大写)表示10,“B”表示11,…,“F”表示15。比如:十六进制数A10B表示的10进制数是:10×16^3+ 1×16^2+ 0×16^1+ 11×16^0= 41227。 转换成的八进制数是:120413,因为1×8^5+ 2×8^4+ 0×8^3+ 4×8^2+ 1×8^1+ 3×8^0= 41227。
提示:考虑它们与二进制表示的关系。
Input
一个十六进制数,没有前导0(除非是数字0)。
Output
一个八进制数,没有前导0(除非是数字0)。
Sample Input Copy
123ABC
Sample Output Copy
4435274
HINT
提示:
先把十六进制转换为二进制,然后再把二进制转换为八进制。
十六进制一位转换为四位二进制,二进制是每三位转换成一位八进制。
样例解释:
(123ABC)16=(1 0010 0011 1010 1011 1100)2=(100 100 011 101 010 111 100)2=(4435274)8
---
acg27294