1.使用位运算判断一个数是否是奇数
注:奇数的二进制的最后一位是1,偶数是0
num & 1=1 奇数
num & 1 =0 就为偶数
2.表达式0x13&0x17的值是( 19)
ox13 =0b 0001 0011 转换成2进制
0x17 =0b 0001 0111 转换成2进制
0x13 & 0x17 =0001 0011 & 0001 0111=0001 0011 (补) =19
3.若x=2,y=3则x&y的结果是( 2)
2 =0b 0010(补)
3= 0b 0011 (补)
2 & 3 = 0010 & 0011=0010(补)=0010(原)=2
4.表达式 -97 | 120 的运算结果是(-1)
-97 = 0b1100001 = 11100001(原) = 10011110反)=10011111(补)
120 = 0b1111000 = 01111000(原\补)
-97 | 120 =10011111(补) | 01111000(补) =11111111(补)
11111111(补)=11111110(反)=10000001(原)= -1
5.在位运算中,操作数每右移一位,其结果相当于( B)
A.操作数乘以2 B.操作数除以2
C.操作数除以4 D.操作数乘以4
6.设x 是一个整数(16位).若要通过x|y使x低度8位置1,高8位不变,则y的二进制数是(0b0000000011111111 )
下面定义变量正确的是(a,d)
a. a = b = c = 10
b. a,c = 10
c. in = 20
d. num = 10; t = 20n = 6784,以下能够获取到7 的方法有(c d)
a. n / 1000 % 100
b. n % 1000 / 100
c. n // 100 % 10
d. n // 10 % 100 // 10
n//100=67%10=7
n//10%=678%100=78//10=7
9.以下表达式 10 / 4 + 23 // 4 * 2 - 30的计算结果是:__-17.5____。
10/4 + 5*2 - 30 = 2.5+ 10 -30 = -17.5
- 写代码获取输入数字12345中的每一位上的数字
print(12345 //10000)=1
print(12345 //1000%10)=2
print(12345 //100%100)=3
print(12345 //10%1000)=4
print(12345 %10000)=5
- 写出判断一个数是否能同时被3和7整除的条件语句
n=21
print( n % 3 == 0 and n% 7 == 0)
- 写出判断一个数是否能够被3或者7整除,但是不能同时被3和7整除的表达式
print (num % 3 ==0 or num % 7==0)and(not num%3==0 and num%7==0)