zoukankan      html  css  js  c++  java
  • python移位运算符

    1,二进制方式

    >>> bin( 1 )
    '0b1'
    >>> bin( 10 )
    '0b1010'
    >>> a = 0b10
    >>> a
    2
    >>> 

    2,移位运算符( >> << ): 箭头向左就是  向左移位  反正 箭头向右  就是向右位移,移位针对的是二进制

    如,十进制的1   ---> 对应的二进制是  0000 0001

    1 << 1 : 向左移动1位

    0000 0001  --->0000 0010(  2 )

    1 << 2 : 向左移动2位

    0000 0001  --->0000 0100( 4 )

    2 << 2 : 2向左移动2位

    0000 0010 ---> 0000 1000( 8 )

    >>> 1 << 1
    2
    >>> 1 << 2
    4
    >>> 2 << 2
    8
    >>> 

    向右移动是一样的道理,先把数转成二进制,再向右移动对应的位数

    >>> 1 >> 1
    0
    >>> 2 >> 1
    1
    >>> 3 >> 1
    1
    >>> 6 >> 1
    3
    >>> 

    6( 0000 0110 ) ---->经过 (6 >> 1)  0000  0011( 3 )

    1.与运算:A与B值均为1时,A、B与的运算结果才为1,否则为0 (运算符:&)

    2.或运算:A或B值为1时,A、B或的运算结果才为1,否则为0  (运算符:|)

    3.异或运算:A与B不同为1时,A、B的运算结果才为1,否则为0  (运算符:^)

    4.按位翻转(按位取反):将内存中表示数字的2进制数取反0取1,1取0 (运算符:~)

    >>> 1 & 1
    1
    >>> 1 & 0
    0
    >>> 4 & 1
    0
    >>> 
    >>> 1 | 1
    1
    >>> 1 | 0
    1
    >>> 4 | 1
    5
    >>> 
    >>> 1 ^ 1
    0
    >>> 7 ^ 8
    15
    >>> 
    >>> ~5
    -6
    >>> ~20
    -21
    >>> 
  • 相关阅读:
    2.16 C++类与new和delete操作符
    2.15 C++常量指针this
    2.14 C++析构函数
    2.13 C++拷贝构造函数
    2.12 C++ explicit关键字详解
    2.11 C++转型构造函数
    2.10 C++利用构造函数限制对象的创建
    2.9 C++使用默认参数的构造函数
    2.8 C++参数初始化表
    linux 查看进程启动路径
  • 原文地址:https://www.cnblogs.com/ghostwu/p/8678494.html
Copyright © 2011-2022 走看看