1.使用位运算判断一个数是否是奇数
注:奇数的二进制的最后一位是1,偶数是0
#用 & 判断一个数奇偶性
#& :按位与,比较每一位上的数字,都是1,则为1,其余为0。
num = 33
if (num & 1) == 0 :
print('%d为偶数'%num)
else:
print('%d为奇数' % num)
计算结果
2.表达式0x13&0x17的值是(19 )
0x13 = 0b0001 0011
0x17 = 0b0001 0111
-------->0b0001 0011----->2^4 + 2 + 1 = 19
3.若x=2,y=3则x&y的结果是(2 )
2 = 0b010
3 = 0b011----->0b010 = 2
4.表达式 -97 | 120 的运算结果是(-1)
97 = 0b0110 0001
-97 = 0b1110 0001(yuan)
-97 = 0b1001 1110(fan)
-97 = 0b1001 1111(bu)
120 = 0b0111 1000------------->1111 1111bu
1111 1110fan ------------->1000 0001yuan
5.在位运算中,操作数每右移一位,其结果相当于( B)
A.操作数乘以2 B.操作数除以2
C.操作数除以4 D.操作数乘以4
6.设x 是一个整数(16位).若要通过x|y使x低度8位置1,高8位不变,则y的二进制数是( 0b0000 0000 1111 1111)
X|Y = **** **** 1111 1111
不变则Y = 0000 0000 1111 1111
-
下面定义变量正确的是(a)
a. a = b = c = 10
b. a,c = 10
c. in = 20
d. num = 10; t = 20 -
n = 6784,以下能够获取到7 的方法有(c,d)
a. n / 1000 % 100
b. n % 1000 / 100
c. n // 100 % 10
d. n // 10 % 100 // 10
9.以下表达式 10 / 4 + 23 // 4 * 2 - 30的计算结果是:__-17.5____。
2.5 + 5*2-30
- 写代码获取输入数字12345中的每一位上的数字
n = 12345
wan = n // 10000
qian = n % 10000 // 1000
bai = n % 10000 % 1000 // 100
shi = n % 10000 % 1000 % 100 // 10
ge = n % 10
print('%d的万位为:%d'%(n,wan))
print('%d的千位为:%d'%(n,qian))
print('%d的百位为:%d'%(n,bai ))
print('%d的十位为:%d'%(n,shi))
print('%d的个位为:%d'%(n,ge))
运行结果
- 写出判断一个数是否能同时被3和7整除的条件语句
num = int(input('请输入一个整数:'))
if num % 3 == 0 and num % 7 == 0 :
print('%d能同时被3和7整除'%num)
else :
print('%d不能同时被3和7整除' % num)
结果1
结果2
- 写出判断一个数是否能够被3或者7整除,但是不能同时被3和7整除的表达式
num = int(input('请输入一个整数:'))
if (num % 3 == 0 or num % 7 == 0) and num % 21 != 0 :
print('%d能被3或7整除,且不能同时被3和7整除'%num)
else :
print('%d不满足条件' % num)
结果1
结果2
网友评论