python中的进制转换与位运算

1. 进制转换

n = 16
print(n)
print(bin(n))   # 十进制转二进制
print(oct(n))   # 十进制转八进制
print(hex(n))   # 十进制转十六进制

# 16
# 0b10000
# 0o20
# 0x10

print(int('10000', 2))  # 二进制转十进制
print(int('0o20', 8))   # 八进制转十进制
print(int('0x10', 16))  # 十六进制转十进制

# 除十进制外,其他进制之间相互转换,需要使用十进制中转
# 八进制转十六进制,应该先由八进制转成十进制,再从十进制转十六进制
print(hex(int('0o20', 8)))

2. 位运算

# &:按位与运算符,参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0;
print(bin(21))
print(bin(6))
print(bin(21 & 6))

# |:按位或运算符,只要对应的二个二进位有一个为1时,结果位就为1;
print(bin(21))
print(bin(6))
print(bin(21 | 6))

 

 

# ^:按位异或运算符,当两对应的二进位相异时,结果为1;
print(bin(21))
print(bin(6))
print(bin(21 ^ 6))

# ~:按位取反运算符,对数据的每个二进制位取反,即把1变为0,把0变为1;
print(bin(21))
print(~21)
print(bin(~21))

 

 

# >>:右移动运算符,把 >> 左边的运算数的各二进位全部右移若干位,>> 右边的数指定移动的位数;
print(bin(21))
print(21 >> 3)
print(bin(21 >> 3))

# <<:左移动运算符,运算数的各二进位全部左移若干位,由 << 右边的数指定移动的位数,高位丢弃,低位补0。
print(bin(21))
print(21 << 3)
print(bin(21 << 3))

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值