Python 2、8、10、16进制间的转换

进制转换一直是初学者所头疼的,下面就简单的列出各进制之间都是以什么方式转换的。

# print(‘2-->8: ‘, oct(int(‘0b1010‘, 2)))     # 2-10-8
# print(‘2-->10:‘, int(‘0b1010‘, 2))          # 2-10
# print(‘2-->16:‘, hex(int(‘0b1010‘, 2)))     # 2-10-16
# print(‘8-->2:‘, bin(int(‘0o12‘, 8)))        # 8-10-2
# print(‘8-->10:‘, int(‘0o12‘, 8))            # 8-10
# print(‘8-->16:‘, hex(int(‘0o12‘, 8)))       # 8-10-16
# print(‘10-->2‘, bin(10))                    # 10-2
# print(‘10-->8‘, oct(10))                    # 10-2
# print(‘10-->16‘, hex(10))                   # 10-16
# print(‘16-->2:‘, bin(int(‘0xa‘, 16)))       # 16-10-2
# print(‘16-->8:‘, oct(int(‘0xa‘, 16)))       # 16-10-8
# print(‘16-->10:‘, int(‘0xa‘, 16))           # 16-10
‘‘‘
    2-->8:  0o12
    2-->10: 10
    2-->16: 0xa
    8-->2: 0b1010
    8-->10: 10
    8-->16: 0xa
    10-->2 0b1010
    10-->8 0o12
    10-->16 0xa
    16-->2: 0b1010
    16-->8: 0o12
    16-->10: 10
‘‘‘

  

原文地址:https://www.cnblogs.com/Neeo/p/9188993.html

时间: 2024-10-07 11:24:03

Python 2、8、10、16进制间的转换的相关文章

2,8,10,16进制之间的转换

我们常用的进制是“十进制”,就是我们日常所说的逢十进一位,类比1+9=10(很简单) 类比十进制二进制i则是逢而进以也就是1+1=10 , 1+1+1=11,1+1+1+1=100, 1+1+1+1+1=101,1+1+1+1+1+1=110. 我们正常是用的数据为十进制,则十进制的数据转换二进制的数据时用短除 如例题所示,余数从下到上写则为二进制代码,读法就是从前往后念并不是十进制的读法,规律由例题可见当商为偶数对应右边的为0,而商为奇数时则对应的为1 十进制转八进制.十进制转16进制  法则

2~16进制间任意进制转换器

一.程序运行截图(仅列举部分) 正数: (1)10->8 (连续五次不输入程序会自动结束哦) (2)10->2 (3)16->10 (4)8->16  负数: (1)10->2 (2)10->2 (3)8->16  二.扩展功能 1.可以识别正负数并输出,当输出为二进制时会自动将其补为有符号位的八位或十六位. 2.能在2至16所有进制间任意转换: 3输入错误时会报错并让你重新输入: 4.加了一个没卵用的随机数来使最后一句话随机输出. 三.介绍函数及其使用的全局变量

C# 中2,10,16进制及其ASCII码之间转化

C# 中2,10,16进制及其ASCII码之间转化             --------//C#中各种字符类型的转化,使用于串口通信------------ //字符长度的理解            string s = "我是一个2兵";            int len = s.Length;//6个字符              byte[] sarr = System.Text.Encoding.Default.GetBytes(s);            len =

python IP地址转16进制

python IP地址转16进制 第一种方法: 通过socket.inet_aton实现 import socket from binascii import hexlify ary='192.168.1.1' packed_ip_addr = socket.inet_aton(ary) hexStr=hexlify(packed_ip_addr) print('IP:'+hexStr) 输出: IP:c0a80101 第二种方法: 将字符串分割成数组,在转换成16进制 ary='192.168

Python 各进制间的转换(转)

转载自:http://blog.chinaunix.net/uid-21516619-id-1824975.html python 2.6以后内置函数#10进制转为2进制>>> bin(10)'0b1010'#2进制转为10进制>>> int("1001",2)9 #10进制转为16进制>>> hex(10)'0xa'#16进制到10进制>>> int('ff', 16)255>>> int('0

C#中2、8、16进制 有符号转换10进制正负数

曾经让我苦想的其他进制转有符号整型问题,结果自己想到方法解决后才发现原来如此简单. 1.Int16(2个byte长度 ) : 方法 :Convert.ToInt16(进制编码,进制) a.16进制转10进制(带正负的) 方法:Convert.ToInt16(16进制编码,16); 负数例如:(16进制)FFFF=(10进制)-1    解决:C#代码:Convert.ToInt16("FFFF",16);  结果:-1 正数例如:(16进制)1E0=(10进制)480   解决:C#代

python——进制间的转换

int(string_num, n)  string_num表示某种进制的字符串,n表示string_num是什么进制数 2.8.16 进制转为10进制:使用int()或者eval() 10 进制转为2.8.16进制:使用bin().oct().hex()  或者  使用format() b:二进制,o:八进制,d:十进制,x:十六进制 bin().oct().hex()返回值均为字符串,且分别带有0b.0o.0x前缀 hex函数比format函数慢,eval函数比int函数慢 示例: # 二进

Python中读取到16进制数如何转成有符号数值

场景:用Python模拟设备做 Modbus TCP 协议时,读取到的寄存器值是S16(有符号16进制数),如何能得到正确的负数值呢? 代码如下: def get_s16(val): if val < 0x8000: return val else: return (val - 0x10000) 解释:由于Python不是强类型的语言,对于数据的值的大小没有严格的限制,所以可以直接通过做减法来获得正确的负数值.如果是其他的强类型语言,就需要按照负数补码原理来获取到高位符号位值后再取反处理,获得正

【python】字符串、16进制等数据处理

最近做一个socket server,需要接收组播报文,并进行分析处理.其中涉及的一个问题是,待发送的报文是字符串形式,类似"hello world". 从wireshark截取的报文看,都是16进制数据,以为必须转为该种类型才能发送,需要转换为16进制字符串,类似"0x\a00x\c30x\b4"等. 但后来发现,直接发送数据也是ok的,应该是数据发送时自己会进行转码. 不了解的时候,网上查了下,发现大家推荐用到的模块是binascii,查看help 几个方法如下