Python全栈(3)——进制、运算符、原码反码补码

1、进制

对于之前数电、微机原理等基础课程中大多都学过,对于程序员来讲,最主要是要掌握二进制和十六进制,在计算机中,所有的信息最终都是通过0/1来记录,这也就涉及到位的概念,每一位就是一个二进制数,然而如果程序员直接去处理二进制的数,那将会是一件非常麻烦的事情,很多情况下程序中会用十六进制的数。

  • 16进制:在数字前面加0x(注意前面是零,非字母O),如0x7f
  • 转换问题:16进制与2进制转换时,一般意为16进制转换为4位2进制,如0x7f位0111 1111

2、运算符

2.1算数运算符

对于Python的算数运算符,大多数和c保持一致,如+,-,*,/,%(取余)

Python特殊运算符:
  • //:整除(舍弃余数) 如5//2=2 , 7//2=3,不过这里要注意负数整除后,向下取整数,如:
-5//2
#-3
  • :幂运算 如22代表2的2次方,22=4,32=9
  • divmod(x,y):返回两个数,第一个为x除以y的商,第二个为余数

2.2位运算

所谓位运算就是对位这个层面进行操作,这里包括:

  • &:按位且,如:
9&8
# 1001    
# 1000
#结果为:1000=8
  • |:按位或
  • ~:逐位取反,这里需要注意的是,这里使用补码表示的,关于补码,详见本文第三部分,如:
~56
#转换为2进制:0011  1000
#逐位取反后为:1100  0111
#反码:        1011  1000
#补码:        1011  1001
#由于第一位(最高位)为符号标志位,0为正,1为负,所以为-57

  • ^:逐位异或
  • <<:左移xx位
  • >>:右移xx位
    

2.3逻辑运算符

  • and:且 ,如6>=5 and 7>5 为True
  • or: 或
  • not : 非

3、原码反码补码

正数:

原码反码补码均为它本身

负数:
  • 原码为它本身
  • 反码为除最高位符号位不变,其它位按位取反
  • 补码为在反码的基础上加1
  • 如果已知负数的补码求原码,步骤和已知原码求补码一致
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力改掉拖延症的小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值