1.使用位运算判断一个数是否是奇数
注:奇数的二进制的最后一位是1,偶数是0
2.表达式0x13&0x17的值是( )
3.若x=2,y=3则x&y的结果是( )
4.表达式 -97 | 120 的运算结果是()
5.在位运算中,操作数每右移一位,其结果相当于( )
A.操作数乘以2 B.操作数整除2
C.操作数整除4 D.操作数乘以4
6.设x 是一个整数(16位).若要通过x|y使x低8位置1,高8位不变,则y的二进制数是( )
下面定义变量正确的是()
a. a = b = c = 10
b. a,c = 10
c. in = 20
d. num = 10; t = 20n = 6784,以下能够获取到7 的方法有()
a. n / 1000 % 100
b. n % 1000 / 100
c. n // 100 % 10
d. n // 10 % 100 // 10
9.以下表达式 10 / 4 + 23 // 4 * 2 - 30的计算结果是:______。
写代码获取输入数字12345中的每一位上的数字
写出判断一个数是否能同时被3和7整除的条件语句
写出判断一个数是否能够被3或者7整除,但是不能同时被3和7整除的表达式
答案:
1.将数字和1按位与,如果结果是0,说明这个数是偶数;如果结果是1,说明这个数是奇数。
num&1==1,则为奇数
num&1==0,则为偶数
2.19
0x13=0b00010011,0x17=0b00010111
0x13&0x17=0b00010011=19
3.2
x=2=0b0010,y=3=0b0011,x&y=0b0010=2
4.-1
-97=0b11100001(原)=0b10011110(反)=0b10011111(补)
120=0b01111000(原/补)
-97|120=0b10011111(补)|0b01111000(补)=0b11111111(补)=0b11111110(反)=0b10000001(原)=-1
5.B
6.0b0000000011111111
1|任何数 ->1,0|任何数->0
7.a、d
8.c、d
6784/1000%100=6.784%100=6.784
6784%1000/100=784/100=7.84
6784//100%10=67%10=7
6784//10%100//10=678%100//10=78//10=7
9.-17.5
10/4+23//42-30=2.5+52-30=-17.5
num = 12345
a=num//10000
b=num%10000//1000
c=num%1000//100
d=num%100//10
e=num%10
print(a,b,c,d,e)
num=int(input())
print('输入的数是否能同时被3和7整除',num%3==0 and num%7==0)
num=int(input())
print('输入的数是否能满足条件',(num%3==0 or num%7==0) and (not (num%21==0)))