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

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

 

全局定义

base = [str(x) for x in range(10)] + [ chr(x) for x in range(ord('A'),ord('A')+6)]

 

二进制 to 十进制 : int(str,n=10) 

def bin2dec(string_num):
    return str(int(string_num, 2))

 

十六进制 to 十进制

def hex2dec(string_num):
    return str(int(string_num.upper(), 16))

 

十进制 to 二进制: bin() 

def dec2bin(string_num):
    num = int(string_num)
    mid = []
    while True:
        if num == 0: break
        num,rem = divmod(num, 2)
        mid.append(base[rem])

    return ''.join([str(x) for x in mid[::-1]])

 

十进制 to 八进制: oct() 

 

十进制 to 十六进制: hex() 

def dec2hex(string_num):
    num = int(string_num)
    mid = []
    while True:
        if num == 0: break
        num,rem = divmod(num, 16)
        mid.append(base[rem])

    return ''.join([str(x) for x in mid[::-1]])

 

十六进制 to 二进制: bin(int(str,16)) 

def hex2bin(string_num):
    return dec2bin(hex2dec(string_num.upper()))

 

二进制 to 十六进制 : hex(int(str,2)) 

def bin2hex(string_num):
    return dec2hex(bin2dec(string_num))

 

 

时间: 2024-10-03 01:47:16

Python进制转换(二进制/八进制/十进制/十六进制)的相关文章

数据结构栈实现进制转换遇到问题十进制数255 输出的十六进制数是F15F15 哪里错了

问题描述 数据结构栈实现进制转换遇到问题十进制数255 输出的十六进制数是F15F15 哪里错了 //进制转换函数 void conversion(int n,int r) { SqStack S;//构建一个栈 InitStack(S); while(n) { Push(S,n%r);//数据入栈 n=n/r; } while(!StackEmpty(S)) { SElemType e; Pop(S,e);//数据出栈 switch(e) { case 0: break; case 1: br

php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码

十进制转换为二进制.八进制.十六进制 从十进制向其它进制转换,用的是就用该数字不断除以要转换的进制数,读取余数.连接一起就可以了. 复制代码 代码如下: <?php /** *十进制转二进制.八进制.十六进制 不足位数前面补零* * * @param array $datalist 传入数据array(100,123,130) * @param int $bin 转换的进制可以是:2,8,16 * @return array 返回数据 array() 返回没有数据转换的格式 * @copyrig

进制转换算法原理(二进制 八进制 十进制 十六进制)_相关技巧

1.二进制数.八进制数.十六进制数转十进制数 有一个公式:二进制数.八进制数.十六进制数的各位数字分别乖以各自的基数的(N-1)次方,其和相加之和便是相应的十进制数.个位,N=1;十位,N=2...举例: 110B=1*2的2次方+1*2的1次方+0*2的0次方=0+4+2+0=6D 110Q=1*8的2次方+1*8的1次方+0*8的0次方=64+8+0=72D 110H=1*16的2次方+1*16的1次方+0*16的0次方=256+16+0=272D 2.十进制数转二进制数.八进制数.十六进制

c语言-c++ 进制转换由十六进制转换成二进制

问题描述 c++ 进制转换由十六进制转换成二进制 void change16_2() { printf("十六进制->二进制 "); int i,a,b,c,d,k; int x[3]; char m[3]={0,0,0},n[3]; printf("转换数(十六进制):"); scanf("%s",m); for(i=0;i { if(m[i]>='A'&&m[i]<='F') { x[i]=10+m[i]-6

java中Integer包装类的详细讲解(java二进制操作,所有进制转换)

程序员都很懒,你懂的! 今天为大家分享的是Integer这个包装类.在现实开发中,我们往往需要操作Integer,或者各种进制的转换等等.我今天就为大家详细讲解一下Integer的使用吧.看代码: package com.herman.test; public class IntegerTest { public static void main(String[] args) { System.out.println("Integer中的常量***************************

二进制-关于C++中数字字符串和进制转换的问题,在线等

问题描述 关于C++中数字字符串和进制转换的问题,在线等 有一串数字字符串"20150902153100" 将他以二进制的方式进行存入,然后再转成16进制读出. 关于转成二进制就是例如34就是00100010,然后我读出来是22 在C++中应该怎么实现? 解决方案 直接把34转换成十六进制,然后二进制显示就是00100010,你读取出来的时候把他当十六进制读取,就是34了 解决方案二: 进制转换(字符串问题)16进制字符串转换为数字C++进制转换问题------------------

结合stack数据结构,实现不同进制转换的算法

#!/usr/bin/env python # -*- coding: utf-8 -*- # learn <<Problem Solving with Algorithms and Data Structures>> # Release 3.0 # chengang882 @ 2016-12-20 # 它可以将十进制转换成二进制,八进制和十六进制 # Completed implementation of a stack ADT #数据结构 class Stack(object)

JAVA之旅(一)——基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算

JAVA之旅(一)--基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算 Android老鸟重新学一遍JAVA是什么感觉?枯燥啊,乏味啊,而且归纳写博客,都是很痛苦的事情,但是程序之路这么长,你必须精通的不能再精通一门语言才行(有点说大了哈),但是最起码你要如鱼得水吧,我准备的资料有: JAVA编程思想 深入浅出JAVA 黑马,传智,慕课,极客学院等-的视频 Google搜索 我们既然是重新学一遍,那我们尽量就是用记事本去敲代码好了,这里我用notep

PHP中实现中文字符进制转换原理分析_php技巧

一,中文字符转十进制原理分析 GBK编码中一个汉字由二个字符组成,获取汉字字符串的方法如下 复制代码 代码如下: $string = "不要迷恋哥"; $length = strlen($string); for($i=0;$i<$length;$i++){ if(ord($string[$i])>127){ $result[] = ord($string[$i]).' '.ord($string[++$i]); } } var_dump($result); 由于一个汉字为