您的位置:首页 > 编程语言 > Python开发

Python 入门教程 16 ---- Introduction to Bitwise Operators

2013-10-05 16:14 696 查看
 第一节

     1 介绍了Python的二进制

     2 我们利用0bxx来表示一个二进制,比如1 = 0b1,2 = 0b10等等

 第二节

     1 介绍了Python的函数bin(x),主要是用来求10进制数x的二进制值

     2 比如bin(2)为0b10

     3 练习:打印出2~5之间的数的二进制值

print bin(1)
for i in range(2,6):
print bin(i)


 第三节

     1 介绍了Python的int()函数

     2 最普通的int()函数的用法是int(str)是把一个字符串转化成一个数字

     3 但是int(str,base)可以用来把base进制下的值转化为10进制,比如int("0b11",2)得到的值就是3

     4 举例:

print int("1",2) >> 1
print int("10",2) >> 2
print int("111",2) >> 7
print int("0b100",2) >> 4
print int(bin(5),2) >> 5
print int("11001001",2) >> 201


 第四节

     1 介绍了Python的左移和右移运算

     2 位移运算的举例

Left Bit Shift (<<)
0b000001 << 2 = 0b000100 (1 << 2 = 4)
0b000101 << 3 = 0b101000 (5 << 3 = 40)

Right Bit Shift (>>)
0b0010100 >> 3 = 0b000010 (20 >> 3 = 2)
0b0000010 >> 2 = 0b000000 (2 >> 2 = 0)

     3 练习:把变量的shift_right的右移两位,shift_left的值左移两位
shift_right = 0b1100
shift_left = 0b1

# Your code here!
shift_right >>= 2
shift_left <<= 2

print bin(shift_right)
print bin(shift_left)


 第五节

     1 介绍了Python的另外一种位运算&

     2 比如a&b,就是两个位都是1为1,否则为0

a:   00101010   42
b:   00001111   15
===================
a & b:   00001010   10

     3 练习:把二进制0b1110&0b101的结果用二进制打印出来
print bin(0b1110&0b101)


 第六节

     1 介绍了Python的另外一种位运算|

     2 比如a|b,就是如果两个位中有1就为1,否则为0

a:  00101010  42
b:  00001111  15
================
a | b:  00101111  47

     3 练习:把二进制0b1110|0b101的结果用二进制打印出来
print bin(0b1110|0b101)


 第七节

     1 介绍了Python的另外一种位运算^

     2 比如a^b,就是如果两个位中如果是不同的那么就为1,否则为0

a:  00101010   42
b:  00001111   15
================
a ^ b:  00100101   37

     3 练习:把二进制0b1110^0b101的结果用二进制打印出来
print bin(0b1110^0b101)


 第八节

     1 介绍了Python的另外一种位运算~

     2 比如~a的结果就是a的相反数在减一,对于a是正数或负数都满足

     3 举例

print ~-4 >> 3
print ~-3 >> 2
print ~-1 >> 0

print ~0 >> -1

print ~1 >> -2
print ~2 >> -2
print ~3 >> -2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: