前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何学Python 第十八课 位运算符介绍

如何学Python 第十八课 位运算符介绍

作者头像
用户1631416
发布2018-04-12 13:54:47
7380
发布2018-04-12 13:54:47
举报
文章被收录于专栏:玄魂工作室玄魂工作室

欢迎回来! 在我们上一次的培训课程中,我们介绍了类以及OOP如何使编程/脚本更容易。 今天我们将休息一下,并且介绍一些相当简单的按位运算符。

按位运算符相对简单。 实质上,当我们使用按位运算符时,我们用二进制编写,10,我们使用按位运算符来表示二进制的整数。

今天,我们将学习如何阅读按位运算符。

我们将首先回顾一些关键术语,然后我们将介绍基本概念八进制和位值,基本的两位数字系统,最后我们将读取一些二进制文件。 所以,让我们开始吧!

基本术语

如果我们要阅读二进制文件,我们需要知道一些基本术语。 下面我们来定义一些我们经常使用的关键术语:

  • 八位组成一字节(Octet):八位(bit)组成的单元(1 octet
  • 位(Bit):八分之一个字节,以10的形式存在
  • 基本二进制系统:这个系统用来确定一个位上的值

如果您对此术语有任何疑问,请将它们留在评论部分或直接给我发消息。 您必须了解这些条款才能继续。

现在我们知道一些基本术语,让我们再解释Octet

解释Octet

现在,我们已经讨论过1octet8bit组成的定义, 而且,8bit构成1byte

Octet中的每个bit都保持着不同的值。

这些地方的数字编号为07(就像下图的索引一样)。 事情是,他们的编号是相反的。

当我们读/写二进制的时候,我们从右向左阅读。 我们来看一个octet的表示:

图18.1

在这里,我们可以看到我们的8bit与他们各自的数字对应。

现在我们知道一个octet的布局,我们可以讨论基本的二进制系统了。

基本二进制系统

现在我们已经介绍了octet的布局以及它的bit上的值,我们可以讨论基本的二进制系统。这是用来根据它在octetbit的位置来得出一个十进制数的系统。

比特可以是101表示该位处于使能状态,而另一个0表示该位处于关闭状态。如果有1 bit0,我们就不计算它的价值。我们只计算使能的位上的值。

顾名思义,二进制系统的基数为两个。为了通过一个bit的数来找到对应的十进制数,我们把这个bit的位数乘以2

接下来让我们来看看二进制系统是怎么工作的。

我们来看看前面的位编号图,但是这次我们将用十进制值标明各个位:

图18.2

我们可以看到,通过取2的n次方来表示每一位的值,我们可以计算出相应位的十进制值!

计算整个Octer

我们知道如何计算各个位,现在我们可以计算出整个octet的值!

我们将再次看看我们的图,但是这次我们要用10来替代一些bit位上的数。然后,我们将计算这些位置的十进制值,并使用这些值来计算整个octet的值!

我们先看看这些10的分布:

图18.3

好的,所以我们在这里看到我们有10的混合排列。我们的目标是计算整个octet的总值,所以我们必须排除任何零位(off)的位置。

让我们继续,用红色X标记这些位置,将它们从我们的计算中排除:

图18.4

好吧,现在我们知道需要计算哪些位了,让我们来做。

请记住,我们需要采取2的n次方的方式来计算,n代表位的索引值。您可以参考下面的图表。

让我们继续计算我们的位值,我们将把十进制值放在它们下面:

图18.4

在那里,现在我们已经计算出了我们各bit位上对应的值,我们只需要将它们总和起来就可以找到octet的值了:

图18.5

我们已经成功计算出我们的Octet的值了!二进制数字01100101等于十进制的101。

总结

今天我们介绍Octet/Bit,二进制系统,以及如何将二进制转换为十进制(整数)的方法。我们这一轮没有做任何代码介绍,因为我们要继续深入之前了解这些基本知识,我们不会盲目介绍Python知识的!

下一次我们将介绍如何在Python中实际使用按位运算符做计算。

感谢您的阅读!

练习

请计算如下二进制代表的十进制数

1. 1110

2. 1010

3. 0010

4. 1000 0010

5. 1111 1111

6. 0010 1100

7. 1010 0010 1100 1001

8. 0101 0000 1010 0001

9. 1110 1111 1111 0111

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 玄魂工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档