Problem1191--十六进制转换

1191: 十六进制转换

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MiB

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。
    提示:考虑它们与二进制表示的关系。

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

Source/Category