首先,整型一般占用4个字节,每个字节是8位,故计算机都是用32位来存储一个整数。
假想从右到左用0~31的数字对这32位进行标号,从最左边第一个位置开始,用这个数字与1 << 31 进行与(&)运算,那么则可以确定这个位置的值,以此类推,第i个位置与1 << i 进行与(&)运算,那么则可以确定这个位置的值。则可依次打印出一个整数的32位。
# 整型都是32位,如何打印这32位呢? def printB(num): i = 31 while i >= 0: if num & 1 << i: print('1',end='') else: print('0',end='') i -= 1 num = int(input('输入一个数字')) printB(num)
运行结果如下:
输入一个数字:123
00000000000000000000000001111011