进制转换:先介绍用传统数学方法,再介绍用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'

八进制转为二进制:
比如八进制数 (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二、十、八进制相互转换的更多相关文章

  1. 计算机开放电子书汇总(包括二十多本python相关的图书教程)

    计算机开放电子书汇总(包括二十多本python相关的图书教程) https://github.com/it-ebooks/it-ebooks-archive 这个汇总包含了各种计算机相关的开放图书和文 ...

  2. 初学 Python(十二)——高阶函数

    初学 Python(十二)--高阶函数 初学 Python,主要整理一些学习到的知识点,这次是高阶函数. #-*- coding:utf-8 -*- ''''' 话说高阶函数: 能用函数作为参数的函数 ...

  3. 二十六. Python基础(26)--类的内置特殊属性和方法

    二十六. Python基础(26)--类的内置特殊属性和方法 ● 知识框架 ● 类的内置方法/魔法方法案例1: 单例设计模式 # 类的魔法方法 # 案例1: 单例设计模式 class Teacher: ...

  4. 二十五. Python基础(25)--模块和包

    二十五. Python基础(25)--模块和包 ● 知识框架   ● 模块的属性__name__ # my_module.py   def fun1():     print("Hello& ...

  5. 二十四. Python基础(24)--封装

    二十四. Python基础(24)--封装 ● 知识结构   ● 类属性和__slots__属性 class Student(object):     grade = 3 # 也可以写在__slots ...

  6. 二十二. Python基础(22)--继承

    二十二. Python基础(22)--继承 ● 知识框架   ● 继承关系中self的指向 当一个对象调用一个方法时,这个方法的self形参会指向这个对象 class A:     def get(s ...

  7. 二十. Python基础(20)--面向对象的基础

    二十. Python基础(20)--面向对象的基础 1 ● 类/对象/实例化 类:具有相同属性.和方法的一类人/事/物 对象(实例): 具体的某一个人/事/物 实例化: 用类创建对象的过程→类名(参数 ...

  8. python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码

    python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...

  9. python3.4学习笔记(二十五) Python 调用mysql redis实例代码

    python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...

  10. python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法

    python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法window安装redis,下载Redis的压缩包https://git ...

随机推荐

  1. Echarts-树状图(源码 含flare.json)

    刚刚发现官网实例里边的数据其实在:https://www.echartsjs.com/data/asset/data/flare.json 源码: html: <!DOCTYPE html> ...

  2. pwn学习日记Day17 《程序员的自我修养》读书笔记

    静态链接章小结 本章首先学习了静态链接的第一步骤,即目标文件在被链接成最终可执行文件时,输入目标文件中的各段是如何被合并到输出文件中的,链接器如何为它们分配在输出文件中的空间和地址.一旦输入段中的最终 ...

  3. pwn学习日记Day15 《程序员的自我修养》读书笔记

    程序编译链接过程: 1.调用cc1程序,这个程序实际上就是GCC的C语言编译器,它将"hello.c"编译成一个临时的汇编文件"/tmp/ccUhtGSB.s" ...

  4. 重读APUE(6)-umask

    umask函数设置当前进程的权限为屏蔽字:系统会有一个默认的屏蔽字,为了确保创建文件具有的权限位成功被设置,需要使用umask将屏蔽字置0: 系统屏蔽字用shell查看,比如得到如下结果,其为八进制表 ...

  5. HTTP之实体和编码

    1. Content-Length: 实体的大小 Content-Length 首部指示出报文中实体主体的字节大小.这个大小是包含了所有内容编码的,比如,对文本文件进行了 gzip 压缩的话,Cont ...

  6. Build Telemetry for Distributed Services之Open Telemetry来历

    官网:https://opentelemetry.io/ github:https://github.com/open-telemetry/ Effective observability requi ...

  7. 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_13-删除页面-前端-Api调用

    增加删除链接 <el-button size="small" type="text" @click="del(page.row.pageId)& ...

  8. python基础----条件判断与循环

    一.python数据类型 1.整数(包括整数.负数) 2.浮点数(小数) 3.字符串(需要用单引号‘’或双引号“”括起来) 注:当字符串中含有单引号时,用双引号括起来(now="let's ...

  9. 深入理解channels - kavya Joshi

    From: 翻译blog地址 作者:大桥下的蜗牛 这是GopherCon 2017大会上,go开发专家 kavya Joshi 的一篇关于 channel 的演讲,讲的通俗易懂. Understand ...

  10. 基于LSTM + keras 的诗歌生成器

        最近在github 上发现了一个好玩的项目,一个基于LSTM + keras 实现的诗歌生成器,地址是:https://github.com/youyuge34/Poems_generator ...