六十四进制
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
310
1a
a$
Sample Output
6474
703
单个读取位数计算值然后累加。
理解z=a[j]-39-'0'; a[j]-39得出的是ASCii码的值 减去'0',则变成
整型值,赋值给整型变量z。
本题六十四进制计算方法同二进制,从右至左,第0位的值乘以
64的0次方,第一位的值乘以64的1次方......依次累加计算值。
代码如下:
博客已搬:洪学林博客
相关文章推荐
- shader - 可以使用三种不同的方法
- Ubuntu手机中的Theme运用
- Java中的算术运算符
- Exception:异常分类
- [python]标准比较运算符
- eclipse代码自动提示设置、如何配置eclipse的代码自动提示功能(同时解决自动补全变量名的问题)?
- 字母图形
- 单例模式 解析——浅显易懂
- iOS-置顶按钮相关
- css background属性的使用方法
- fiddler用法:修改http请求返回信息
- JSON及JSON-LIB
- 两个APP之间怎么调用《IT蓝豹》
- 栈区堆区全局区
- Selenium2(webdirver)入门之五测试工程同步(Java版)
- Android四大基本组件详解
- 代码创建约束01
- 顺序队的基本操作(C 完整源代码)
- iOS -switch函数中的case,初始化视图时需要加“{}”
- nginx地址重写