使用Python内置函数:bin()、oct()、int()、hex()可实现进制转换。

先看Python官方文档中对这几个内置函数的描述:

bin(x)

Convert an integer number to a binary string. The result is a valid Python expression. If x is not a Python int object, it has to define an __index__() method that returns an integer.

oct(x)

Convert an integer number to an octal string. The result is a valid Python expression. If x is not a Python int object, it has to define an __index__() method that returns an integer.

int([number | string[, base]])

Convert a number or string to an integer. If no arguments are given, return 0. If a number is given, return number.__int__(). Conversion of floating point numbers to integers truncates towards zero. A string must be a base-radix integer literal optionally preceded by ‘+' or ‘-‘ (with no space in between) and optionally surrounded by whitespace. A base-n literal consists of the digits 0 to n-1, with ‘a' to ‘z' (or ‘A' to ‘Z') having values 10 to 35. The default base is 10. The allowed values are 0 and 2-36. Base-2, -8, and -16 literals can be optionally prefixed with 0b/0B, 0o/0O, or 0x/0X, as with integer literals in code. Base 0 means to interpret exactly as a code literal, so that the actual base is 2, 8, 10, or 16, and so that int('010', 0) is not legal, while int('010') is, as well as int('010', 8).

hex(x)

Convert an integer number to a hexadecimal string. The result is a valid Python expression. If x is not a Python int object, it has to define an __index__() method that returns an integer.

2进制

8进制

10进制

16进制

2进制

-

bin(int(x, 8))

bin(int(x, 10))

bin(int(x, 16))

8进制

oct(int(x, 2))

-

oct(int(x, 10))

oct(int(x, 16))

10进制

int(x, 2)

int(x, 8)

-

int(x, 16)

16进制

hex(int(x, 2))

hex(int(x, 8))

hex(int(x, 10))

-

bin()、oct()、hex()的返回值均为字符串,且分别带有0b、0o、0x前缀。

Python进制转换(二进制、十进制和十六进制)实例

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# 2/10/16 base trans. wrote by srcdog on 20th, April, 2009

# ld elements in base 2, 10, 16.

import os,sys

# global definition

# base = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F]

base = [str(x) for x in range(10)] + [ chr(x) for x in range(ord('A'),ord('A')+6)]

# bin2dec

# 二进制 to 十进制: int(str,n=10)

def bin2dec(string_num):

return str(int(string_num, 2))

# hex2dec

# 十六进制 to 十进制

def hex2dec(string_num):

return str(int(string_num.upper(), 16))

# dec2bin

# 十进制 to 二进制: bin()

def dec2bin(string_num):

num = int(string_num)

mid = []

while True:

if num == 0: break

num,rem = divmod(num, 2)

mid.append(base[rem])

return ''.join([str(x) for x in mid[::-1]])

# dec2hex

# 十进制 to 八进制: oct()

# 十进制 to 十六进制: hex()

def dec2hex(string_num):

num = int(string_num)

mid = []

while True:

if num == 0: break

num,rem = divmod(num, 16)

mid.append(base[rem])

return ''.join([str(x) for x in mid[::-1]])

# hex2tobin

# 十六进制 to 二进制: bin(int(str,16))

def hex2bin(string_num):

return dec2bin(hex2dec(string_num.upper()))

# bin2hex

# 二进制 to 十六进制: hex(int(str,2))

def bin2hex(string_num):

return dec2hex(bin2dec(string_num))

以下代码用于实现十进制转二进制、八进制、十六进制:

# -*- coding: UTF-8 -*-

# Filename : test.py

# author by : www.jb51.net

# 获取用户输入十进制数

dec = int(input("输入数字:"))

print("十进制数为:", dec)

print("转换为二进制为:", bin(dec))

print("转换为八进制为:", oct(dec))

print("转换为十六进制为:", hex(dec))

执行以上代码输出结果为:

python3 test.py

输入数字:5

十进制数为:5

转换为二进制为: 0b101

转换为八进制为: 0o5

转换为十六进制为: 0x5python3 test.py

输入数字:12

十进制数为:12

转换为二进制为: 0b1100

转换为八进制为: 0o14

转换为十六进制为: 0xc

具体实现

十进制到二进制:

def dec2bin(num):

l = []

if num < 0:

return '-' + dec2bin(abs(num))

while True:

num, remainder = divmod(num, 2)

l.append(str(remainder))

if num == 0:

return ''.join(l[::-1])

十进制到八进制:

def dec2oct(num):

l = []

if num < 0:

return '-' + dec2oct(abs(num))

while True:

num, remainder = divmod(num, 8)

l.append(str(remainder))

if num == 0:

return ''.join(l[::-1])

十进制到十六进制:

base = [str(x) for x in range(10)] + [ chr(x) for x in range(ord('A'),ord('A')+6)]

def dec2hex(num):

l = []

if num < 0:

return '-' + dec2hex(abs(num))

while True:

num,rem = divmod(num, 16)

l.append(base[rem])

if num == 0:

return ''.join(l[::-1])

python进2、8、16制转换源码

def cn(x):

return x.decode('utf-8')

a=int(raw_input(cn('请输入要转换的数字:')))

b=int(raw_input(cn('请输入要转换的进制:')))

def x(n,k):

if k==16:

d=n

s=""

while d!=0:

d,f=divmod(d,k)

if f==10:

f='a'

if f==11:

f='b'

if f==12:

f='c'

if f==13:

f='d'

if f==14:

f='e'

if f==15:

f='f'

s=str(f)+s

return s

elif k==2 or k==8:

d=n

s=""

while d!=0:

d,f=divmod(d,k)

s=str(f)+s

return s

c=x(a,b)

print c

#本程序仅支持2,8,16进制,若想支持更多进制请自己动脑该代码吧!

python 十进制整数转换为任意进制(36以内)

def baseN(num, b):

return ((num == 0) and "0") or (baseN(num // b, b).lstrip("0") + "0123456789abcdefghijklmnopqrstuvwxyz"[num % b])

这篇文章就结束到这,需要的朋友可以参考一下,希望大家以后多多支持脚本之家。

python十进制转八进制_Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)...相关推荐

  1. python 自定义进制转换,Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)...

    使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x) Convert an integer num ...

  2. [转载] python支持complex吗_Python 内置函数complex详解

    参考链接: Python complex() 英文文档: class complex([real[, imag]]) Return a complex number with the value re ...

  3. python bytes查找位置_Python内置函数——bytes

    英文文档: classbytes([source[, encoding[, errors]]]) Return a new "bytes" object, which is an ...

  4. range函数python三个参数_python内置函数之range()

    先看官方解释 """ range(stop) -> range object range(start, stop[, step]) -> range obje ...

  5. JDK内置的进制转换

    十进制转成十六进制 Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinary ...

  6. 内置的进制转换的方法---小笔记

    10进制转换成16进制:Integer.toHexString(int i) 10进制转换成8进制:Integer.toOctalString(int i) 10进制转换成2进制:Integer.to ...

  7. python中reversed是什么意思_Python内置函数reversed()用法分析

    这篇文章主要介绍了Python内置函数reversed()用法,结合实例形式分析了reversed()函数的功能及针对序列元素相关操作技巧与使用注意事项,需要的朋友可以参考下 reversed()函数 ...

  8. python语言接收信息的内置函数是_Python语言接收信息的内置函数是________________...

    Python语言接收信息的内置函数是________________ 答: input() 中国大学MOOC: 铁素体稳定元素倾向于 奥氏体区,使共析点向 方移动. 答:缩小:左上: 注射剂中热原检查 ...

  9. Python学习笔记(4)~Python基础练习之常用内置函数(1-10)

    Python基础练习之常用内置函数(1-10) 1.abs() 作用         求数的绝对值或者复数的模 测试demo #!/usr/bin/python3 # abs: 求绝对值 or 复数的 ...

最新文章

  1. mysql双机数据热备份_如何设置MySql数据同步实现双机热备份
  2. 互联网产品策划经验总结(用户端产品)
  3. “白加黑”远控木马技术分析及手杀方案
  4. 序列化和反序列化的概念与延伸【详细解释 + 样例演示】
  5. C++入门指南及实战 第二步 HelloWorld及扩展详解
  6. python notebook配置_使用 Jupyter Notebook 配置 Stata\Python\Julia\R
  7. Spring Boot Java应用代码混淆介绍
  8. 微信超赞新功能上线,终于知道钱花哪儿了
  9. 【java】序列化:ProtoBuf 与 JSON 的比较
  10. ServletContext,ActionContext,ServletActionContext
  11. JVM学习01—下载编译openjdk源码并进行调试
  12. Facebook开源项目:我们为什么要用Fresco框架?
  13. Jni 返回jstring字符串
  14. Qt学习—qt编写定时关机程序
  15. 显示当前服务器的ip,linux查看当前服务器ip地址 命令
  16. 外汇EA量化真的可以赚钱吗?还是新型骗局?
  17. 计算机网络口诀,网线水晶头接法顺序图解分享,这个简单口诀记好了(超实用)...
  18. 2017南京大学计算机考研复试分,2018.的南大复试考生,:2017南京大学中国古代史考研复试经...
  19. linux下看pcie的设备id,linux lspci查看pci总线设备信息
  20. 1+X证书web前端开发(中级)部分习题整理(题源来自奥鹏教育)

热门文章

  1. 杰里之. 输出 3 路 PMW【篇】
  2. springboot---微信小程序上传文件(word/pdf文件)
  3. 输出满足某种条件的素数(C语言)
  4. VIM 参考手册 For Vim version 7.3
  5. 为Excel工作表单元格命名的两种方法
  6. 基于WEB的多媒体素材管理库的开发与应用,免费分享
  7. 数据分析师,今年无情被辞:想给数据人提个醒!!
  8. 国产操作系统VS Windows系统的深度使用比较,哪种操作系统更好用?来自一位深度使用者的全面剖析
  9. win10多用户同时远程桌面登陆
  10. kmspico_setup.exe运行提示系统资源不足,无法完成请求的服务