Python十进制转二、八、十六进制

原创 2016年07月21日 14:59:49

从十进制转其他进制是非常简单的,无非是分为两步:

  1. 将这个数对要转换的进制数相除,取余数,如num%8,继续拿着除之后的整数部分对进制数取余数,直到整数部分为0为止
  2. 将余数倒序输出,即可得到结果

num = input('input an int number: ')
t = input('input type(2,8,16): ')

def trans(num):
    m = 0
    lst = []
    if t==16:
        standar_result = hex(num)
        result = '(16)'
    elif t==8:
        standar_result = oct(num)
        result = '(8)'
    elif t==2:
        standar_result = bin(num)
        result = '(2)'
    while(num!=0):
        q = num%t
        num = num/t
        lst.append(q)
        m+=1
    lst = lst[::-1]#倒序
    for item in lst:#十六进制10以上的数要转为字母
        if item ==10:
            item = 'a'
        elif item ==11:
            item = 'b'
        elif item ==12:
            item = 'c'
        elif item ==13:
            item = 'd'
        elif item ==14:
            item = 'e'
        elif item ==15:
            item = 'f'

        s = str(item)
        result+=s
    return result,standar_result


print 'result=%s\nstandar_result=%s'%(trans(num))

运行:
例1.

input an int number: 543
input type(2,8,16): 8
result=(8)1037
standar_result=01037

例2.

input an int number: 543
input type(2,8,16): 16
result=(16)21f
standar_result=0x21f

例3.

input an int number:  431
input type(2,8,16): 2
result=(2)110101111
standar_result=0b110101111
版权声明:本文为博主原创文章,未经博主允许不得转载。

十进制转化二.四,八.十六进制(使用递归)!!!

十进制转化为二进制,这是
  • wretchedme
  • wretchedme
  • 2014年09月18日 19:48
  • 753

线性表_使用栈实现二进制转换到八进制/十进制/十六进制

1.定义与概念 栈 栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入...
  • shyjhyp11
  • shyjhyp11
  • 2017年05月01日 22:49
  • 284

十六进制,十进制,八进制,二进制转换(含小数部分)

提示:各类进制在实际中表示 十进制:D(Decimal) 二进制:B(Binary) 八进制:O(Octal)   十六进制:H(Hexadecimal) 如:(4B1)...
  • Jishu360
  • Jishu360
  • 2012年10月25日 21:49
  • 9748

Python 二进制,十进制,十六进制转换

十六进制 到 十进制 使用 int() 函数 ,第一个参数是字符串 '0Xff' ,第二个参数是说明,这个字符串是几进制的数。  转化的结果是一个十进制数。 >>> int('0xf',16)  ...
  • u012063703
  • u012063703
  • 2015年01月11日 11:47
  • 23374

关于一个《十六进制转十进制》的小程序

今天看到一个十六进制转为十进制的程序,感觉比较特别! #include #include #include  #define HEXTD(x) (((x)   /* he...
  • dzyangzhen
  • dzyangzhen
  • 2015年04月11日 15:56
  • 358

python常用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)

进行协议解析时,总是会遇到各种各样的数据转换的问题,这里详细列举了整数之间的进制转换,以及整数、字符串、字节串三者之间的相互转换。当然仅仅是抛砖引玉,有更好更简单的方法,欢迎欢迎...
  • crylearner
  • crylearner
  • 2014年08月27日 00:19
  • 171233

十进制转二、八、十六进制

Java 提供位运算的操作,对于十进制的转换,采用位运算可大大提高转换速度定义全局变量public final static char digitals[]={  '0','1','2','3','4...
  • ashe1
  • ashe1
  • 2011年03月16日 11:37
  • 91

蓝桥杯 十六进制转十进制(字符串)

基础练习 十六进制转十进制   时间限制:1.0s   内存限制:512.0MB        问题描述   从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。...
  • qq_30076791
  • qq_30076791
  • 2015年12月15日 21:24
  • 828

Python 进制互相转换(二进制、十进制和十六进制)

Python代码 #!/usr/bin/env python  # -*- coding: utf-8 -*-   # 2/10/16 base trans. wrote by srcdo...
  • zhou191954
  • zhou191954
  • 2012年12月03日 22:38
  • 2732

【算法C++】十进制字符串转十六进制字符串

问题描述将一个十进制字符串转化为十六进制字符串。问题解决这个问题如果只是十进制转化为十六进制,其实是比较容易的,只要了解短除法就可以解决了,但题目里数是字符串,这就将题目的难度增高了。因为如果只是in...
  • zgljl2012
  • zgljl2012
  • 2015年09月25日 16:40
  • 6283
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python十进制转二、八、十六进制
举报原因:
原因补充:

(最多只允许输入30个字)