天天看点

python 入门之 – 十六进制运算(二十)

二进制是由 0 ~ 1 组成的

八进制是由 0 ~ 7组成的

十进制是由 0 ~ 9组成的

十六进制是由 0 ~ 15 组成的,可是 9 后面的的 10 是用字母来代替 A~ F ,也就是 0 ~ F,用字母代替了数字,避免不再重复

之前刚接触

python

的时候学了以下

二进制

,现在从八进制开始继续往下走

python

提供了一个方法,可以将任意数字专成

八进制

oct()

: 将任意数字转成

八进制

如:

a = oct(1)
print(a)

>> 0o1
           

运行结果

0o1

o

代表就是

八进制

,前面的为零,如果数值为 8 的话就是

0o10

,逢 8 进 1 ,如:

a = oct(8)
print(a)

>> 0o10
           

其余过程和二进制一样算,十进制其实就是数值本身,可以直接过滤了,如:

1=1

2=2

3=3

接下来看看 十六进制:

python

也内置了一个数字转

16进制

的方法,如:

hex()

: 将任意数值专程

16进制

如:

a = hex(123123123)
print(a)

>> 0x756b5b3
           

运行结果

0x756b5b3

x

代表就是

十六进制

,前面的为零,如果数值为

16

的话就是

0o10

,逢 16 进 1

在前面的章节当中了解到

2 进制

是及其能读懂的语言,那么

十进制

,其实是我们人类能读懂的,那么

八进制

十六进制

又是怎么一回事呢,其实啊,在一些古老的语言里面

八进制

还是用的比较多的,但是现在在

python

里面用的已经不多了,因为

python

可以让很多语言融合进去,所以

python

内置了

八进制

的转换方法,所以可以直接忽略他,那么

十六进制

又是怎么一回事呢?我用电脑上内置的

python2

版本 来做一个演示就明白了:

python 入门之 – 十六进制运算(二十)

可以看到,我在终端中给变量

a

赋值了其实他打印出来的是

十六进制

的代码,以

x

开头的 不会超过字母

f

,如果我用内置的

print()

函数打印,那么出来的就是未被

十六进制

转变的代码,但是在

python3

版本后是不会直接被转成

十六进制

,可是

python

读取出来的还是

十六进制

,所以我们在

python

的学习当中用的最多还是

十六进制

二进制

,毕竟

二进制

是计算机的根本

那么为什么 python 里面要用 16进制 呢?

1、计算机硬件是

0101

二进制的,

16进制

刚好是

2

的倍数,更容易表达一个命令或者数据,

十六进制

更加简短,因为换算的时候

16进制

可以顶

4位

2进制数,也就是一个字节(

8进制可以用两个16进制表示

2、最早规定的

ASCII

字符集采用的就是

8bit

(后期扩展了,但是基础单位还是

8bit

),

8bit

用两个

16进制

就能表达出来,不管阅读还是储存都比其他进制要方便

3、计算机中

cpu

运算也是遵循

ASCII

字符集,以16、32、64这样的方式在发展,因此数据交换的时候 16进制 也显得更好

4、为了统一规范,cpu、内存、硬盘我们看到的都是采用的

16进制

计算

那么 16进制 应该要用在哪里呢?

1、网络编程,数据交换的时候需要对字节进行解析都是一个

byte

一个

byte

的处理,一个

byte

可以用

0xff

两个

16进制

来表达,通过网络抓包,可以看到数据是通过

16进制

传输的

2、数据存储,储存到硬盘中是

0101

的二进制方式,储存到系统的表达方式都是

byte

方式

3、一些常用值的定义,比如前端

CSS

(层叠样式表) 的一些属性如:

color:#f00

这种就是用

16进制

的方式,4个

16进制

可以表达好几百万的颜色信息。

继续阅读