1. #!usr/bin/env python
    # coding:utf-8
  2.  
  3. def binary():
    '''二进制的方法与算法'''
       Number = 10
       Number1 = 20
       Number2 = 30
       print bin(Number),type(bin(Number1)),bin(Number2)
    #用十进制算法来表示二进制
      # 除余法:10%2=0放入字符串个位'0',5%2=1放入字符串的十位'10',2%2=0放入百位'010',最后余数放入千位'1010'
       l = []
    while Number>0:
    l.insert(0,str(Number%2)) #临时列表l每次从左插入计算后的余数
           Number /= 2                                #每次把Number除法的结果返回判断循环
       print l
    s = ''.join(l) #列表转换字符串循环
       print s
  1.  
  2. def octonary():
    '''八进制的方法与算法'''
       Number = 10
       Number1 = 20
       Number2 = 30
       print oct(Number),oct(Number1),oct(Number2)
    # 除余法:10%8=2放入字符串个位'2',余数放入十位'12'
       l = []
    while Number>0:
    l.insert(0,str(Number%8))
    Number /= 8
       print l
    s = ''.join(l)
    print s

  1.  
  2. def hexadecimal():
    '''十六进制的方法与算法'''
       Number = 30
       Number1 = 20
       Number2 = 50
       print hex(Number),hex(Number1),hex(Number2)
    # 除余法:30%16=14由于个位数上大于10放入会不好识别,所以用字母代替a=10,b=11,c=12,d==13,e=14,f=15
       # 放入字符串个位'e',余数放入十位'1e'
       l = []
    while Number>0:
    n=str(Number%16) #除余的数赋值变量n后面比对
           l.insert(0,n)
    Number /= 16
           if n=='10': l[0]='a'                              #比对n是否为两位数10转换字符a
           elif n=='11':l[0]='b'                              #以下同理
           elif n=='12':l[0]='c'
           elif n=='13':l[0]='d'
           elif n=='14':l[0]='e'
           elif n=='15':l[0]='f'
       print l
    s = ''.join(l)
    print s
  1.  
  2. if __name__=="__main__":
    binary()
    octonary()
    hexadecimal()

python的进制转换二进制,八进制,十六进制及其原理的更多相关文章

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

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

  2. C# 进制转换(二进制、十六进制、十进制互转)

    原文地址:https://www.cnblogs.com/icebutterfly/p/8884023.html C# 进制转换(二进制.十六进制.十进制互转)由于二进制数在C#中无法直接表示,所以所 ...

  3. C# 进制转换(二进制、十六进制、十进制互转) 转载 https://www.cnblogs.com/icebutterfly/p/8884023.html

    C# 进制转换(二进制.十六进制.十进制互转)由于二进制数在C#中无法直接表示,所以所有二进制数都用一个字符串来表示例如: 二进制: 1010 表示为 字符串:"1010" int ...

  4. Java 进制转换(二进制(负),八进制,十进制,十六进制),位运算、逻辑运算(2)

    负数的二进制表现形式:其实就是该数的绝对值取反+1. 进制转换(二进制,八进制,十进制,十六进制),原理解析 十六进制的表现形式: (2)(与.异或.左移.右移.三元运算符)

  5. python实现进制转换(二、八、十六进制;十进制)

    python实现进制转换(二.八.十六进制:十进制) (一)十进制整数转为二.八.十六进制 1.format实现转换>>> format(2,"b") # (10 ...

  6. python 实现进制转换(二进制转十进制)

    摘自https://baike.baidu.com/item/%E5%8D%81%E8%BF%9B%E5%88%B6%E8%BD%AC%E4%BA%8C%E8%BF%9B%E5%88%B6 pytho ...

  7. Python中进制转换函数的使用

    Python中进制转换函数的使用 关于Python中几个进制转换的函数使用方法,做一个简单的使用方法的介绍,我们常用的进制转换函数常用的就是int()(其他进制转换到十进制).bin()(十进制转换到 ...

  8. python任意进制转换

    python任意进制转换 import string def module_n_converter(q, s, base=None): """ 将自然数按照给定的字符串转 ...

  9. python中进制转换

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

随机推荐

  1. Android之图片加载框架Fresco基本使用(一)

    PS:Fresco这个框架出的有一阵子了,也是现在非常火的一款图片加载框架.听说内部实现的挺牛逼的,虽然自己还没研究原理.不过先学了一下基本的功能,感受了一下这个框架的强大之处.本篇只说一下在xml中 ...

  2. commons-lang包中我们常用的类的作用

    commons-lang包中对我们有用的类主要有: 1.StringUtils 该类主要提供对字符串的操作,对null是安全的,主要提供了字符串查找,替换,分割,去空白,去掉非法字符等等操作 2.Ob ...

  3. android 网络加载图片,对图片资源进行优化,并且实现内存双缓存 + 磁盘缓存

    经常会用到 网络文件 比如查看大图片数据 资源优化的问题,当然用开源的项目  Android-Universal-Image-Loader  或者 ignition 都是个很好的选择. 在这里把原来 ...

  4. MyEclipse10查看Struts2源码及Javadoc文档

    1:查看Struts2源码 (1):Referenced Libraries >struts2-core-2.1.6.jar>右击>properties. (2):Java Sour ...

  5. spring面试题(2)

    f-sp-1. Spring的aop你怎样实现? 用动态代理和cglib实现,有接口的用动态代理,无接口的用cglib f-sp-2. Spring在SSH起什么作用 整合作用 f-sp-3. Spr ...

  6. ABP使用及框架解析系列 - [Unit of Work part.2-框架实现]

    前言 ABP ABP是“ASP.NET Boilerplate Project”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开 ...

  7. POI导入导出

    一.使用POI导出Execl表格 需要的jar包 package cn.yxj.poi; import java.io.FileOutputStream; import java.util.Date; ...

  8. Apache Lucene(全文检索引擎)—创建索引

    目录 返回目录:http://www.cnblogs.com/hanyinglong/p/5464604.html 本项目Demo已上传GitHub,欢迎大家fork下载学习:https://gith ...

  9. 函数模块:CTVB_COMPARE_TABLES--两个表中删除/变更/粘贴分解

    这个函数模块比较两个内表,将被删除.增加和修改的内表行分别分组输出. 输入参数:TABLE_OLD:旧表TABLE_NEW:新表KEY_LENGTH:键长度,指定内表中的前若干个字节(在 Unicod ...

  10. ArcGIS Server的Tile的松散型存储(Exploded)

    protected override void GetTileSource(int level, int row, int col, Action<System.Windows.Media.Im ...