Python基础学习---位运算符

本文深入解析位运算符的功能与应用,包括左移、右移、位与、位或、按位取反及按位异或操作。同时,详细阐述了原码、反码、补码的概念及其在计算机中的作用,特别是补码作为负数表示法的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<<   左移,每移动1位,相当于乘以2      例如:32<<2    等价于:32*4 ==128   

>>   右移,每移动1位,相当于除以2      例如:32>>3    等价于:32/8  == 4

位运算的速率比算数运行速率高

& 位与

|  位或

~ 按位取反

^ 按位异或

 

*原码,反码,补码,负数表示法

原码:人直观看到的数字

1==>0b1,  -1==>-0b1 ,bin(-1)    #binary二进制

反码:正数的反码和原码相同;负数的反码符号位(最高位)不变,其余位按位取反

补码:正数的补码和原码相同;负数的反码符号位(最高位)不变,其余位按位取反后+1

         计算机中用补码来存数字

         补码的补码就是原码

负数表示法:

         5-1 ==>5+(-1)   ==> 

         5的原码 (补码)   0b0000 0101

         -1的原码                 0b1000 0001

         -1的补码                 0b1111 1111

         补码相加                 0b 1 0000  0100    #红色的1溢出,丢弃

 

例:~12     

       12      ==>    0b0000 1100

       ~12    ==>    0b1111 0011

                           0b1000 1101    ==>-13

例:10^9   

         解:10     0b 0000 1010

                  9     0b 0000 1001

               10^9   0b 0000  0011    3

        10^-9

          解:  10   0b 0000 1010

                    -9   0b 1000 1001

                 10^-9 0b 1000 0011   -3

 

       

 

转载于:https://www.cnblogs.com/tianjia0318/p/10408991.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值