python常见数制转换实例分析

本文实例讲述了python常见数制转换用法。分享给大家供大家参考。具体分析如下:

1.进位制度

Python中二进制是以0b开头的:
例如: 0b11 则表示十进制的3

8进制是以0开头的:
例如: 011则表示十进制的9

16进制是以0x开头的:
例如: 0x11则表示十进制的17

或者写成  \x  \b

2.各种函数转换

#10进制转为2进制
>>> bin(10)
'0b1010'

#2进制转为10进制
>>> int("1001",2)
9

#10进制转为16进制
>>> hex(10)
'0xa'

#16进制到10进制
>>> int('ff', 16)
255

>>> int('0xab', 16)
171

#十进制转为八进制
>>print("%o" % 10)
>>12

#16进制到2进制
>>> bin(0xa)
'0b1010'
>>>

#10进制到8进制
>>> oct(8)
'010' 

#2进制到16进制
>>> hex(0b1001)
'0x9'

希望本文所述对大家的Python程序设计有所帮助。

时间: 2015-05-07

JavaScript中各数制转换全面总结

利用toString的基模式来进行转换: ECMAScript对数字类型的toString描述如下: Number 类型的 toString() 方法比较特殊,它有两种模式,即默认模式和基模式.采用默认模式,toString() 方法只是用相应的字符串输出数字值(无论是整数.浮点数还是科学计数法),如下所示: var iNum1 = 10; var iNum2 = 10.0; alert(iNum1.toString()); //输出 "10"alert(iNum2.toString(

C语言数据结构中数制转换实例代码

C语言数据结构中数制转换实例代码 数制转换是严蔚敏的数据结构那本书中的例子,但是那本书中的例子大都是用伪代码的形式写的,不是很容易理解和实现,对初学者造成了不小的困扰,在这里我们将其详尽的实现出来,以便初学者调试和运行,并从中有所收获. #include <stdlib.h> #include <stdio.h> #include<malloc.h> #define STACK_INIT_SIZE 10 //定义最初申请的内存的大小 #define STACK_INCR

数据结构 中数制转换(栈的应用)

数据结构 中数制转换(栈的应用) 问题描述: 将一个非负的十进制整数N转换为另一个等价的基为B的B进制数的问题. 解答:按除2取余法,得到的余数依次是1.0.1.1,则十进制数转化为二进制数为1101. 分析:由于最先得到的余数是转化结果的最低位,最后得到的余数是转化结果的最高位,因此很容易用栈来解决. 代码如下: #include<stdio.h> #include<malloc.h> #include<stdlib.h> typedef struct Node {

C/C++ 中堆和栈及静态数据区详解

C/C++ 中堆和栈及静态数据区详解   五大内存分区 在C++中,内存分成5个区,他们分别是堆.栈.自由存储区.全局/静态存储区和常量存储区.下面分别来介绍: 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区.里面的变量通常是局部变量.函数参数等. 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete.如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收. 自由存储区,就是那些由malloc等分

NDK 数据结构之队列与栈等的实现

NDK 数据结构之队列与栈等的实现 com_tz_ndk_cpp_NDKCpp.h /* DO NOT EDIT THIS FILE - it is machine generated */ #include <jni.h> /* Header for class com_tz_ndk_cpp_NDKCpp */ #ifndef _Included_com_tz_ndk_cpp_NDKCpp #define _Included_com_tz_ndk_cpp_NDKCpp #ifdef __cp

C++ 数据结构实现两个栈实现一个队列

C++ 数据结构实现两个栈实现一个队列 栈为后进先出,队列为先进先出 用两个栈实现一个队列.是一个比较经典的问题. 看到这个问题,我的第一个解题思路为: 定义两个栈,s1,s2.s1作为入队列栈,s2作为出队列栈: 入队列:每次入队列的时候,将数值压入s1栈中: 出队列:出队列时,将s1中的所有数据,压进s2栈中,然后删除s2的栈顶数据,然后再将s2中的剩余数据压入s1中. 在这其中s1是一个存储空间,s2是一个辅助空间. 进一步想一下上述办法,在出队列时,每一次都要将s1倒进s2,然后删除s2

数据结构用两个栈实现一个队列的实例

数据结构用两个栈实现一个队列的实例 栈是先进后出,队列是先进先出 每次元素都push在st1中,pop的时候如果st2为空,将st1的栈顶元素放在st2的栈底,这样st1的所有元素都放在st2中,st1的栈底就是st2的栈顶,pop st2的栈顶,这样就满足了队列的先进先出. #include <iostream> using namespace std; #include <stack> #include <stdlib.h> template <class T

Java数据结构与算法之栈(动力节点Java学院整理)

stack,中文翻译为堆栈,其实指的是栈,heap,堆.这里讲的是数据结构的栈,不是内存分配里面的堆和栈. 栈是先进后出的数据的结构,好比你碟子一个一个堆起来,最后放的那个是堆在最上面的. 队列就是排队买苹果,先去的那个可以先买. 栈 public class Stack { private int array[]; private int max; private int top; public Stack(int max){ this.max = max; array = new int[m

Java中堆和栈的区别详解

当一个人开始学习Java或者其他编程语言的时候,会接触到堆和栈,由于一开始没有明确清晰的说明解释,很多人会产生很多疑问,什么是堆,什么是栈,堆和栈有什么区别?更糟糕的是,Java中存在栈这样一个后进先出(Last In First Out)的顺序的数据结构,这就是java.util.Stack.这种情况下,不免让很多人更加费解前面的问题.事实上,堆和栈都是内存中的一部分,有着不同的作用,而且一个程序需要在这片区域上分配内存.众所周知,所有的Java程序都运行在JVM虚拟机内部,我们这里介绍的自然

Java数据结构之链表、栈、队列、树的实现方法示例

本文实例讲述了Java数据结构之链表.栈.队列.树的实现方法.分享给大家供大家参考,具体如下: 最近无意中翻到一本书,闲来无事写几行代码,实现几种常用的数据结构,以备后查. 一.线性表(链表) 1.节点定义 /**链表节点定义 * @author colonel * */ class Node { public int data; Node next=null; public Node(int data){ this.data=data; } } 2.链表操作类 /**链表操作类 * @auth