在上一篇文章里我们介绍了类和面向对象为编程带来的方便。今天我们来说点稍微简单的——位运算。
位运算会用到位运算符。但是我们今天不介绍具体的代码上的操作,而是主要介绍一些概念,关于octet、bit以及进制转换。
基本概念
学二进制之前要首先明白一些概念。
Octet:八个‘位’(一字节)
位(bit):一个‘位’是一个0或者一个1.就是一个二进制位。
二进制数位系统:通过这个‘系统’我们可以进行进制之间的转换
如果你对上面的概念有任何的疑问,你可以直接在下面留言。为了看懂接下来的东西,你必须对以上的概念非常理解。
Octet
刚才说一个octet由8个位组成。八个位也是一个字节。每个在octet里的bit都表示着不同的数值。我们可以从右到左把这些位标记成0到7(就像数组的索引一样)。这在进行进制转换的时候很有用。让我们来看看octet的样子:
我们可以看到标记着他们的序号的八个数。
二进制数位系统
在理解上面内容的基础之上,我们来讲二进制数位系统。通过这个系统我们可以轻松的判断出一个二进制数对应的十进制值的多少。
一个bit,要么是1要么是0.我们算二进制的时候不算0的位,只算有1的位。算的时候每位的值都是2的索引次幂,这里的索引就是上面说的那个。最后把他们相加,就是十进制的值。
举个例子算一下:
拿这个举例。
先把0去掉:
换算幂值:
相加:
总结
今天主要介绍了octet和bit,以及二进制数值系统以及二进制转十进制的方法。今天不介绍任何的代码,因为无论你做什么或者写什么,一定要先清楚你到底在干什么才行。现在我们不再是两眼一抹黑了。我们稍后 介绍具体的位运算符。
查看完整系列教程,请关注我的微信订阅号(xuanhun521,下方二维码),回复“python”。问题讨论请加qq群:Hacking (1群):303242737 Hacking (2群):147098303。
本周“每周一书”活动赠书为《Bootstrap基础教程》,打开下方的链接,参与活动。
原文始发于微信公众号(玄魂工作室):如何学Python 第十八课 初见位运算
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论