zoukankan      html  css  js  c++  java
  • Python合集之Python运算符(三)

       在上一节的合集中,我们了解了Python运算符中的比较运算符和逻辑运算符的相关知识,本节我们将进一步了解一下Python运算符中的位运算符的相关知识。

        位运算符是把数字看作二进制数来进行计算的,因此,需要先将要执行运算的数据转换为二进制,然后才能执行运算。Python中位运算符有与(&)、或(|)、异或(^)、取反(~)、左移位(<<)、右移位(>>)。

    注:整形数据在内存中以二进制的形式表示,如 7的32位二进制表示为:00000000 00000000 00000000 00000111,其中,左边最高位是符号位,最高位为0表示正整数,若为1则表示负数,负数采用的是补码表示,如 -7的32位二进制形式为:11111111 1111111 11111111 11111001

    1.与运算

    与 运算的运算符为 & ,运算法则为:两个操作数据的二进制表示,只有对应数位都是1时,结果数才为1,否则为0.如果两个操作数的精度不同,则结果的精度与精度高的操作数相同。

         0000 0000 0000 1100

      & 0000 0000 0000 1000

    ————————————

        0000 0000 0000 1000

    2.或运算

    或运算的运算符为 | ,运算符的运算法则为:两个操作数据的二进制表示,只有对应数位都是0,结果才是0,否则为1.如果两个操作数的精度不同,则结果的精度与精度高的操作数相同。

      0000 0000 0000 0100

    | 0000 0000 0000 1000

    ——————————

      0000 0000 0000 1100

    3.异或运算

    异或运算的运算符为 ^ 运算符的运算法则为:两个操作数据的二进制表示相同(同时为1或者0)时,结果为0,否则为1。若两个操作数的精度不同,则结果的精度与精度高的操作数相同。

       0000 0000 0001 1111

    ^ 0000 0000 0001 0110

    _____________________

       0000 0000 0000 1001

    4.取反运算

    取反运算也称为非运算,运算符为~,取反运算就是将操作数中对应的二进制数1修改为0,0修改为1.

     ~ 0000 0000 0111 1011

    ———————————

       1111 1111 1000 0100

    5.左移运算

    左移位运算符 << 是将一个二进制操作数向左移动制定的位数,左边(高位端)溢出的位被丢弃,右边(低位端)的空位用0补充,左移位运算相关与乘以2的n次幂。

      例如:int类型的数据48,对应的二进制数:0011 0000,将其左移一位,根据左移运算的运算规则可以得出(0011 0000 <<1)=0110 0000,所以转换为十进制就是96,将其左移两位,根据运算规则可以得出(0011 0000<<2)=1100 0000 ,转换为十进制就是192.

    6.右移运算

    右移位运算符>>是将一个二进制操作数向右移动指定的位数,右边(地位段)溢出的位被丢弃,左边(高为段)的空位,如果最高位为0(正数)左侧填入0,如果最高位为1,左侧填入1.右移位相当于除以2的n次幂。

    花絮:

    本期的Python的运算符就分享到这里,下期我们将继续分享Python中的运算符中的运算符的优先级,感兴趣的朋友可以关注我。

    同时也可以关注下我的个人 微信订阅号,园子里面的文章也会第一时间在订阅号里面进行推送跟更新。

      

  • 相关阅读:
    团队作业---软件制作8
    团队作业---软件制作7
    团队绩效考核表
    团队报告
    团队作业---软件制作6
    团队作业---软件制作5
    团队作业---软件制作4
    团队作业---软件制作3
    团队作业---软件制作2
    第十周学习进度条
  • 原文地址:https://www.cnblogs.com/a-mumu/p/14022245.html
Copyright © 2011-2022 走看看