算法学习笔记12-任意进制数的转换
2017-08-20 10:28
459 查看
进制转换
将o进制的数m转换为n进制的数输出。可以识别负数。因为这里是用字符串读取,所以对数的范围没有限制,可以是很大的数。
#coding=utf-8 import sys def zero(a): for i in a: if i==0: continue else: return False return True def o2n(a,old,new): r=[]#存储商 b=[]#存储新进制数 while not zero(a): t=0 for i in a: t=t*old+i r.append(t//new)#除新进制数new得到商 t%=new#取余数 b.append(t)#存储余数 a=[i for i in r]#把商传给a数组 r=[]#清空r数组 b.reverse() return b def out(a): d=['A','B','C','D','E','F'] for i in a: if i<10: print i, sys.stdout.softspace=0 else: print d[i-10], sys.stdout.softspace=0 print m,n,o=raw_input().split() n=int(n)#new o=int(o)#old flag=False if m[0]=='-': flag=True del m[0] print '-', sys.stdout.softspace=0 m=[int(i,o) for i in m] out(o2n(m,o,n))
相关文章推荐
- C 任意进制转换程序
- 面试热题——任意进制(32进制及以下)之间的转换
- 栈的应用——数值转换为任意进制
- itoa()、atoi()、任意进制转换
- 任意进制整数之间的相互转换(C++实现)
- 将任意进制(2~36)的数转换为10进制,参数k=16就是16进制转10进制
- 通用进制转换工具,可实现进制之间的任意转换
- java中十进制转换为任意进制
- 任意进制间的转换(用c语言实现)
- 任意整数转换为任意进制
- C++趣味编程算法//求一个十进制数转换为任意进制数
- 面试题:编写一个将十进制数转换为任意进制的算法或函数
- 数制转换--十进制转换任意进制---栈--初始化--调用--每日一练(七)
- (高精度运算4.7.26)POJ 1220 NUMBER BASE CONVERSION(高精度数的任意进制的转换——方法:ba1----->10进制----->ba2)
- 十进制数转换成任意进制 (基础题) HLG 1937
- 十进制数转换任意进制数
- 将10进制数转换成任意进制数
- 输入一串数字转换为2,4,6,8,10,16任意进制数字
- 大数的任意进制之间的转换(九度OJ题目1080)
- java实现任意进制的互相转换