day-3 作业

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 )

  1. 下面定义变量正确的是(a,d)
    a. a = b = c = 10
    b. a,c = 10
    c. in = 20
    d. num = 10; t = 20

  2. n = 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
  1. 写代码获取输入数字12345中的每一位上的数字
print(12345 //10000)=1
print(12345 //1000%10)=2
print(12345 //100%100)=3
print(12345 //10%1000)=4
print(12345 %10000)=5

  1. 写出判断一个数是否能同时被3和7整除的条件语句
n=21
print( n % 3 == 0 and n% 7 == 0)
  1. 写出判断一个数是否能够被3或者7整除,但是不能同时被3和7整除的表达式
print (num % 3 ==0 or num % 7==0)and(not num%3==0 and num%7==0)

你可能感兴趣的:(day-3 作业)