进制转换:先介绍用传统数学方法,再介绍用python内置方法

二进制转十进制:
1101 转为十进制 1*2^(4-1)+1*2^(3-1)+0*2^(2-1)+1*2^(1-1) 即各个位拆开,乘以2的(位数-1)次方,结果为13
>>> int('1101',2)
13
>>> int('0o226',8) #00226 0:阿拉伯数字零 o:小写英文字母 o 226:八进制数
150
>>> int('0x96',16)
150

同理可得:把八进制、十六进制数按权展开、相加即得十进制数。

十进制转二进制:
比如13 用13除以2,得到的商再除以2 直到除到1,然后记录每次得到的余数, 从后往前读,即为 1101
同理可得,十进制转八进制或者十六进制按照除8或者16取余,直到商为0为止,再从最后一位读到第一位

>>> bin(13)
'0b1101'

十进制转成八进制和十六进制

'{0:x}'.format(20)                转换成十六进制

'{0:o}'.format(20)                转换成八进制

进制转换的时候用{0:进制}

八进制转为二进制:
比如八进制数 (37)8
拆开 3   7     
3用二进制表示为 11                           
7用二进制表示为 111                       
合起来 即为 11 111
同理 十六进制转二进制
>>> bin(0o37)    #0o37   0:阿拉伯数字0   o:八进制表示
'0b11111'
>>> bin(0x33)
'0b110011'
>>>
二进制转八进制:
二进制从右边数,3位3位为一组,转为十进制比如:
10 110 011 111
2     6    3      7    对应八进制就是为 (2637)8
同理十六进制,不过此时二进制应该是 从右往左边数,4位4位为一组
>>> oct(0b10110011111)
'0o2637'
>>> hex(0b10110011111)
'0x59f'
>>>

101 1001 1111    转为十六进制对应如下:

5         9     f (15)

八进制与十六进制之间的转换有两种方法:

第一种:他们之间的转换可以先转成二进制然后再相互转换。

第二种:他们之间的转换可以先转成十进制然后再相互转换。

>>> oct(0x37)
'0o67'
>>> hex(0o67)
'0x37'

权值和第几位相关,n进制第i位的权值是n的(i-1)次方。
例如:
十进制13579,常说的百位是5,其背后的理由是10^(3-1)=100
十六进制1A2B,B所处位的权值是16^(1-1)=1(即个位),1所处位的权值是16^(4-1)=4096
 
对于多位数,处在某一位上的“l”所表示的数值的大小,称为该位的位权。例如十进制第2位的位权为10,第3位的位权为100;而二进制第2位的位权为2,第3位的位权为4,对于 N进制数,整数部分第 i位的位权为N^(i-1),而小数部分第j位的位权为N^-j。

Python进制转换format格式化的更多相关文章

  1. Python 进制转换 二进制 八进制 十进制 十六进制

    Python 进制转换 二进制 八进制 十进制 十六进制 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/python3-scale.html 全局定义一定不 ...

  2. Python进制转换(二进制/八进制/十进制/十六进制)

    Python 进制转换 二进制 八进制 十进制 十六进制 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/python3-scale.html 全局定义 ba ...

  3. python 进制 转换

    测试用的python源码 ''''' Created on 2014年8月21日 @author: lenovo ''' import binascii import struct def examp ...

  4. Python 进制转换、位运算

    一.进制转换 编程用十进制,十进制转换为二进制.八进制.十六进制 In [135]: bin(23) Out[135]: '0b10111' In [136]: oct(23) Out[136]: ' ...

  5. 19-3-4 Python进制转换;bool str int三者之间的转换;字符串的索引,切片;for循环的使用

    进制转换: 二进制转十进制:  0010 1111 = 1*2**0+1*2**1+1*2**2+1*2**3+1*2**5 十进制转换二进制: 用十进制数除2逆序取余 --->101010 布 ...

  6. python进制转换或数据格式转换

    以下是部分进制转换的,都是python内置函数 int(x [,base ])         将x转换为一个整数    long(x [,base ])        将x转换为一个长整数    f ...

  7. python 进制转换

    print hex(),hex(-) #转换成十六进制 print oct(),oct(-) #转换成八进制 print bin(),bin(-) #转换成二进制 print int("字面 ...

  8. python进制转换(二进制、十进制和十六进制)及注意事项

    使用内置函数实现进制转换实现比较简单,主要用到以下函数: bin().oct().int().hex() 下面分别详解一下各个函数的使用(附实例) 第一部分:其他进制转十进制 1.二进制转十进制 使用 ...

  9. python进制转换及变量

    .编译型语言和解释型语言的区别? 答: () 编译型语言:是将所有源码编译完成二进制后才进行输出,运行快,执行效率高,时间周期长. ()解释型语言:逐行编译输出,执行效率相对慢,开发效率高, .Pyt ...

随机推荐

  1. RabbitMQ入门教程(十六):RabbitMQ与Spring集成

    原文:RabbitMQ入门教程(十六):RabbitMQ与Spring集成 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https: ...

  2. Linux学习--第十三天--日志、系统运行级别、grub加密

    日志 rsyslogd取代了syslogd. /var/log/cron #定时任务相关日志 /var/log/cups #打印信息相关日志 /var/log/dmesg #开机内核自检相关日志,dm ...

  3. JSONP 跨域请求原理

    0x00 简介 由于浏览器的同源策略,我们想要从别的域获取数据变得困难,需要特殊的技术才能获取 0x01 使用 客户域:client.com 服务器(他域):server.com 如客户想访问 : h ...

  4. linux vps定时备份网站、数据库命令sh

    vps定时备份数据库命令,将下面的代码保存为backsql.sh,然后设置定时任务运行即可. cd /home/admin/backup #切换到备份目录 btimes=$(date +%y%m%d% ...

  5. 清北学堂清华大学钟皓曦神仙讲课day3摘要

    ---恢复内容开始--- 今天全是DP awsl,真的好难 先从斐波那契开始: dp:满足有一个状态边界条件(f[0]=0,f[1]=1) 边界条件:不需要计算其他状态的值而可以直接得出的状态或者最底 ...

  6. CentOS6.X系统启动流程

    1.硬件启动阶段 BIOS自检  BIOS的功能由两部分组成,分别是POST码和Runtime服务.POST阶段完成后它将从存储器中被清除,而Runtime服务会被一直保留,用于目标操作系统的启动.B ...

  7. python数据类型基础与解压缩

    ''' python数据类型基础与解压缩 ''' # a = 10 # b = 10 # c = 10 # 定义变量就是拿来用的, # 链式赋值 a = b = c = 10 print(a, b, ...

  8. flask+gevent的异步框架

    一:flask本身的框架时什么? 基于Wsgi的Web应用框架 二:为什么要实现异步架构? 增加并发处理能力 三:实现异步架构 from gevent import monkey from geven ...

  9. 安装虚拟环境 virtualenv

    前言 玩python 当然需要安装虚拟环境,这样就万一有多个项目,避免会冲突,如何安装 virtualenv: 下面如下: 输入 pip list cmd 你的电脑: 然后 输入 pip list: ...

  10. java redirect用法

    重定向到其他链接,不做赘述,上代码. @RequestMapping("forward") public ModelAndView alipayforward(HttpServle ...