您的位置:首页 > 其它

六十四进制

2015-11-24 11:48 288 查看


Description

程序猴子BMan致力于提升自己的bigger,有一天他得到一本《程序员装X手册10则》,里面的内容是这样的:

0.从零开始计数

1.使用二进制

领悟到这本书的内涵后BMan感慨万千,从那以后很长的一段时间他一直在使用二进制提升自己的bigger,后来他终于被0和1逼成了神经病。

但是BMan并没有就此罢休,他现在还发明了一种比二进制bigger更高的东西­­"六十四进制"。

BMan的六十四进制是这样的:["0~9","a~z","A~Z",#$] 这六十四个字符分别表示0~63这六十四个数, 0~9表示0~9,a~z表示10~35,A~Z表示36~61,#表示62,$表示63。 于是1a表示74,a$表示703。现在BMan想要一个能把六十四进制数转化成十进制的程序,你能帮他吗?


Input

输入文件的第一行为一个正整数T,表示有T组测试数据,接下来有T行,每行都有一个需要转化成十进制 数的六十四进制数,并且保证了这些数转成十进制数后的范围为[0,2^31)


Output

每组测试数据的输出占一行,既转换后的十进制数


Sample Input

3

10

1a

a$


Sample Output

64

74

703

单个读取位数计算值然后累加。
理解z=a[j]-39-'0'; a[j]-39得出的是ASCii码的值 减去'0',则变成
整型值,赋值给整型变量z。
本题六十四进制计算方法同二进制,从右至左,第0位的值乘以
64的0次方,第一位的值乘以64的1次方......依次累加计算值。
代码如下:

博客已搬:洪学林博客
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: