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

最新文章

  1. 逆天Kali带你游遍大江南北~安全之前人铺路!
  2. CPU中断和轮询
  3. BZOJ1179 Atm //缩点+spfa
  4. File存储 - 文件存储
  5. css渐变
  6. VMware vSphere Client5.0与 Windows8不再有问题,解决VMware 5.0 客户端提示VMRC控制台的连接已断开
  7. Remote Debugging Chrome 结合Genymotion模拟器的移动端web真机调试(转)
  8. UVA 816 - Abbott's Revenge(BFS)
  9. PHP的curl常用的5种写法
  10. Android 主线程和线程之间相互发送消息
  11. HP MSA2312 ERROR
  12. 基本shell编程【3】- 常用的工具awk\sed\sort\uniq\od(转)
  13. Vue.js搭建路由报错 router.map is not a function,Cannot read property ‘component’ of undefined
  14. C#中的PropertyGrid绑定对象,通过改变某一值而动态设置部分属性的特性
  15. 【搬运】 Page Object 官方文档 (新增了Widget特性)
  16. Linux-bc命令(21)
  17. Codeforces 939C - Convenient For Everybody
  18. JS——页面倒计时跳转
  19. Django Web开发学习笔记(3)
  20. react修改app.js添加中文内容后中文部分乱码解决

热门文章

  1. Python进阶编程 反射
  2. 网络架构,七层协议,三次握手四次挥手,socket套接字简单编程
  3. mongodb数据库怎么迁移
  4. 11.jQuery之淡入淡出效果
  5. 17.AutoMapper 之配置(Configuration)
  6. vue-cli中开发生产css注入形式不同导致bug
  7. express做登录判断
  8. jq each遍历数组或对象
  9. 列举java语言中反射的常用方法
  10. vnd.ms-excel.numberformat 导出Ecxel 格式