精华内容
下载资源
问答
  • 1 按位与、按位按位与:两个均为1时为1 按位或:两个中一个为1即为1 负数补码表示原码,即符号位不变,其余取反再加1 例如: 7的原码为0000 0111 -7的原码(即补码)为1111 1001 5的原码为0000 0101 -5的...

    1 按位与、按位或
    按位与:两个均为1时为1
    按位或:两个中一个为1即为1
    负数补码表示原码,即符号位不变,其余取反再加1
    例如:
    7的原码为0000 0111
    -7的原码(即补码)为1111 1001
    5的原码为0000 0101
    -5的原码(即补码)为1111 1011
    -6的原码(即补码)为1111 1000
    5:0000 0101
    7:0000 0111
    ————————进行 & 运算
    0000 0101 为5
    得 5&7=5
    -6:1111 1000
    -7:1111 1001
    ————————进行 & 运算
    1111 1000 是负数 再减1
    —————
    1111 0111 符号位不变,其余取反
    ————
    1000 1000 为 -8
    得 -6 & -7 = -8

    注意二进制的减法运算 0-1=1(向高位借来的)二进制中只有0和1
         例如        
                1111 1100减1
                1111 1011  倒数第二位为0 0-1=1 是向前面借来的 倒数第二位为本来0 被借位 但自己不够 又向倒数第三位借  倒数第三位变为0 即向前借一位,计算到该位时再减一
    

    ************************* 我是一条无情的分割线 ******************************
    -5:1111 1011
    7 :0000 0111
    ————————进行 & 运算
    0000 0011 为3
    得 -5&7=3

    ************************* 我也是一条无情的分割线 *****************************
    -5:1111 1011
    7 :0000 0111
    ———————进行 | 运算
    1111 1111 是个负数 再减1
    —————
    1111 1110 符号位不变其余取反
    —————
    1000 0001 为 -1
    得-5|7= -1
    ************************* 我还是一条无情的分割线 ******************************
    -5:1111 1011
    -7:1111 1001
    ————————进行 | 运算
    1111 1011 是个负数再减1
    ——————
    1111 1010 符号位不变其余取反
    ——————
    1000 0101 为 -5
    得-5 | -7= -5
    ************************* hi~作为一条无情的分割线的我又来辽******************************
    2 按位求反:~x = -x-1
    ************************* 我我我我一条无情的分割线最后一次到来了! *********************
    3 按位异或
    按位异或:两个不同时为1
    7:0000 0111
    -5 1111 1011
    ———————进行 按位异或 运算
    1111 1100 是负数再减1
    ——————
    1111 1011 符号位不变,其余取反
    ——————
    1000 0100 为 -4
    得7 ^ -5 = -4

    展开全文
  • 符号 描述 运算规则 by MoreWindows & 与 两个都为1时,结果才为1 (统计奇数) | 或 两个都为0时,结果才为0 (统计偶数) ^ ...

    符号

     描述

     运算规则                        by MoreWindows

    &      

     与

    两个位都为1时,结果才为1     (统计奇数)

    |  

     或    

    两个位都为0时,结果才为0       (统计偶数)

    ^    

    异或

    两个位相同为0,相异为1      (常用统计不相同数)

    ~   

    取反

    0变1,1变0

    << 

    左移

    各二进位全部左移若干位,高位丢弃,低位补0

    >> 

    右移

    各二进位全部右移若干位,对无符号数,高位补0,有符号数,各编译器处理方法不一样,有的补符号位(算术右移),有的补0(逻辑右移)

     

     

    位操作:一般是将数字化为二进制数后进行操作。

    1)判断奇偶  (二进制数以1结尾是奇数,以0结尾是偶数)

    奇数&1==1

    偶数&1==0

    a = []
    b = []
    
    for i in range(100):
        if i & 1 == 1:     # 判断奇数
            a.append(i)
        elif i & 1 == 0:   # 判断偶数
            b.append(i)
    print('奇数列表为:', a, '\n', '偶数列表为:', b)

    输出结果:

    奇数列表为: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61,
    63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]
     偶数列表为: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
    60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98]

      

    转载于:https://www.cnblogs.com/xioawu-blog/p/11208066.html

    展开全文
  • python— 难缠符号一、先得从二进制讲起root@kali:~/python/laowangpy# ipython Python 2.7.3 (default, Mar 14 2014, 11:57:14) Type "copyright", "credits" or "license" for more information.IPython 4.0.2 --...

    python— 难缠符号

    一、先得从二进制讲起

    root@kali:~/python/laowangpy# ipython
    Python 2.7.3 (default, Mar 14 2014, 11:57:14) 
    Type "copyright", "credits" or "license" for more information.
    
    IPython 4.0.2 -- An enhanced Interactive Python.
    ?         -> Introduction and overview of IPython's features.
    %quickref -> Quick reference.
    help      -> Python's own help system.
    object?   -> Details about 'object', use 'object??' for extra details.
    
    In [1]: print 'hello'
    hello
    
    In [2]: a = 1
    
    In [3]: bin(a)
    Out[3]: '0b1'
    
    In [4]: bin(4)
    Out[4]: '0b100'
    
    In [5]: bin(3)
    Out[5]: '0b11'
    
    In [6]: bin(2)
    Out[6]: '0b10'
    
    In [7]: bin(5)
    Out[7]: '0b101'
    
    In [8]: 

    二、难缠符号
    bin
    1、难缠符号之一 >> <<
    位移

    In [8]: 3 >> 1
    Out[8]: 1
    
    In [9]: bin(3)
    Out[9]: '0b11'
    
    In [10]: bin(1)
    Out[10]: '0b1'
    
    In [11]: 
    In [11]: 31 >>1
    Out[11]: 15
    
    In [12]: bin(31)
    Out[12]: '0b11111'
    
    In [13]: bin(15)
    Out[13]: '0b1111'
    
    In [14]: 
    
    In [14]: 1<< 1
    Out[14]: 2
    
    In [15]: bin(2)
    Out[15]: '0b10'
    
    In [16]: bin(1)
    Out[16]: '0b1'
    
    In [17]: 2 << 1
    Out[17]: 4
    
    In [18]: bin(4)
    Out[18]: '0b100'
    
    In [19]: 4 << 1
    Out[19]: 8
    
    In [20]: bin(8)
    Out[20]: '0b1000'
    
    In [21]: 
    

    左移公式
    x<

    In [26]: 2 << 3
    Out[26]: 16
    
    In [27]: 3 << 3
    Out[27]: 24
    
    In [28]: 4 << 3
    Out[28]: 32
    
    In [29]: 5 << 3
    Out[29]: 40
    
    In [30]: 3*(2**3)
    Out[30]: 24
    
    In [31]: 4*(2**3)
    Out[31]: 32
    
    In [32]: 5*(2**3)
    Out[32]: 40
    
    In [33]: 

    2、难缠符号之二 &
    按位与

    1100
    1000  &
    ---------
    1000
    
    1&1=1  1&0=0  0&1=0  0&0=0
    In [33]: 10&20
    Out[33]: 0
    
    In [34]: bin(10)
    Out[34]: '0b1010'
    
    In [35]: bin(20)
    Out[35]: '0b10100'
    
    In [36]: 
    
    01010
    10100 &
    ---------
    00000
    In [36]: 40&32
    Out[36]: 32
    
    In [37]: bin(40)
    Out[37]: '0b101000'
    
    In [38]: bin(32)
    Out[38]: '0b100000'
    
    In [39]: 
    
    101000
    100000 &
    ---------
    100000
    In [43]: int(0b10000)
    Out[43]: 16
    
    In [44]: int(0b100000)
    Out[44]: 32
    
    In [45]: 

    3、难缠符号之三 |
    按位或

    1|1=1  1|0=1  0|1=1 0|0=0
    In [46]: 145 | 300
    Out[46]: 445
    
    In [47]: bin(145)
    Out[47]: '0b10010001'
    
    In [48]: bin(300)
    Out[48]: '0b100101100'
    
    In [49]: 
    
    In [49]: bin(445)
    Out[49]: '0b110111101'
    
    In [50]: 
    
    010010001
    100101100 |
    -------------
    110111101

    4、难缠符号之四 ^
    按位异或

    5、难缠符号之四 ^
    按位取反

    三、其他
    1、&之奇偶判定

    root@kali:~/python/laowangpy# python
    Python 2.7.3 (default, Mar 14 2014, 11:57:14) 
    [GCC 4.7.2] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 5 % 2
    1
    >>> 4%2
    0
    >>> 5&1
    1
    >>> 4&1
    0
    >>> bin(4)
    '0b100'
    >>> bin(1)
    '0b1'

    2、计算硬盘容量

    >>> 11866 >> 10
    11
    >>> 11866 / (2**10)
    11
    >>> 2**10
    1024
    >>> 

    3、真真假假不知晓

    >>> True & True
    True
    >>> True & False
    False
    >>> False & False
    False
    >>> False & False & True
    False
    >>> False & False & True & True
    False
    >>> True & True & True & True
    True
    >>> 
    
    展开全文
  • Python计算异或(10 ^ -9)

    千次阅读 2020-03-07 16:33:16
    1111 1110 =》反码,符号位不变,其余位按位取反 1111 1111 =》补码,在原码的基础上,符号位不变,其余位按位取反后+1 二、计算10 ^ -9 1.先把10和-9变成补码再进行^(异或)运算 10的补码为:000...

    一、计算这道题需要知道二进制的运算及原码、反码、补码

    1.正数的原码=反码=补码

    2.负数(以-1为例)

    1000 0001	=》原码,高位的1代表符号位,表示负数
    1111 1110	=》反码,符号位不变,其余位按位取反
    1111 1111	=》补码,在原码的基础上,符号位不变,其余位按位取反后+1
    

    二、计算10 ^ -9

    在这里插入图片描述

    1.先把10和-9变成补码再进行^(异或)运算

    10的补码为:0000 1010

    计算负数的补码需先变成原码,再转为补码
    -9的原码为:1000 1001
    -9的补码为:1111 0111

    2.计算机只认补码,因此10和-9的补码进行异或运算,异或运算的口诀是:相异为1,相同为0

    0000 1010		#10的补码
    1111 0111		#-9的补码
    1111 1101		#异或的结果是补码
    

    3.计算出的结果是补码,但人看的是原码,需再转回原码,记住:补码的补码是原码

    1111 1101
    方法:符号位不变,其余位按位取反后+1
    10000011			
    

    高位的1代表负号,因此最后结果为-3

    三、整体思路:先变补码进行运算,再转原码得出结果

    展开全文
  • 按位异或运算符 ~ 按位取反运算符 << 左移动运算符 >> 右移动运算符 接下来我们详细介绍: 1.按位与(两个二进制位有一个为1时,结果为1,否则为0) 示例:5 & 7 1 0 1 &am....
  • python 位运算常用位运算符号&... 按位 异或 运算符 << 左移动运算符 >> 右移动运算符 & 运算符 & 就是python中 and 的意思,当俩个都是1时 结果为1 示例: bin #
  • 1,以下不是python语言所使用特殊含义符号的是————。 A.&= B.** C.? D.^ 答案:C **是数值运算符操作符 &是按位与运算符,&=则是对应的二元操作符 ^是按位异或运算符
  • python 运算

    2019-09-19 04:42:15
    (按位与),|(按位或),^(按位异或),~(按位取反),>>(右移运算),<<(左移运算) 优先级从高到低依次为:~, & , ^, | “清零取反要用与,某位置一可用或。若要取反和交换,轻轻松松用异或。”...
  • 按位异或 bitwise_not() 按位取反 按位与运算 数学中按位与运算,简单概括就是只有对应的两个二进位都为1时,结果位才为1。在python中,通过“&”符号进行按位与运算,具体运算结果如下标: 算1 算
  • python运算,and , or

    千次阅读 2011-08-16 09:19:29
    python之位运算,and , or 转自:http://hi.baidu.com/liberalwu/blog/item/a648ffeded36c44479f05575.html 位运算符号有:&(按位与),|(按位或),^(按位异或),~(按位取反),>>(右移
  • 运算符号 &、 | 、~、 <<、 >>、 ^ 与、或、取反、左移、右移、异或 测试: & print(3 & 6) 2 #解释: # 0011 # 0110 # 0010 | print(3 | 6) 7 #解释: # 0011 # 0110 # 0111 ~ ...
  • 按位异或:x,y俩个操作数,俩个数相同为0,不同为1. 按位取反:操作数x的二进制位中,1取反为0,0取反为1,符号位也参与操作。 按位左移:x,y俩个操作数,将x按二进制形式向左移动y位,末尾补0,符号位保持不变。...
  • Python运算

    2018-12-24 15:21:33
    文章目录位运算左移运算符(&... : 按位与运算,判断最后一位是否是 1,奇数为1,偶数为0,用来判断奇偶性 ^:异或运算,相同为 0,不同为 1 %:取模, &gt;&gt; : 右移 N 位,相当于除以 2 的 ...
  • python符号的优先

    2012-01-10 18:25:00
    运算符描述 lambda Lambda表达式 or 布尔“或” and 布尔“与” not x 布尔“非” in,not in 成员测试 is,is not 同一性测试 ...按位异或 & 按位与...
  • 文章目录 当这些符号两侧连接的是数值变量时,这些符号会按位(二进制)进行运算 &:按位和,同一位上都为1...xor:按位异或,同一位上不同时为1,相同时为0 参加运算的两个对象,如果两个相应位为“异”(值不同),

空空如也

空空如也

1 2 3 4
收藏数 66
精华内容 26
关键字:

python按位异或符号

python 订阅