day2运算符作业

day2作业:
1.下列四组数,依次为二进制、八进制和十六进制,符合要求的是(D)
a. 12, 77, 10
b. 12, 80, 10
c. 11, 78, 19
d. 11, 77, 19

2.二进制数加法运算的基本特点是“逢二进一”,即0+0=0,0+1=1,1+0=1,1+1=0并进位。运用这一基本法则和十进制运算的类似规律,得出二进制数加法运算1001+101的结果为(C)
a. 1001
b. 1010
c. 1110
d. 1101

7.八进制754中的数码7对应的位权是(C)
a. 10^2 b. 16^1 c. 8^2 d. 2^2

8.十进制数53转换成二进制数是(B)
a. 100101
b. 110101
c.100100
d.110100

9.(偏难)已知,十进制中的8在X进制中表示为11,即(10)8=(X)11。请问这个X进制具体为(B)进制
a. 6
b. 7
c. 8
d. 9

10.(偏难)二进制的1000001相当十进制的_,二进制的100.001可以表示为4
A: ① 62 ② 63 ③ 64 ④ 65
B: ① 23+2–3 ② 22+2–2 ③ 23+2–2 ④ 22+2–3

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

  2. n = 6784,以下能够获取到7 的方法有(CD)
    a. n / 1000 % 100
    b. n % 1000 / 100
    c. n // 100 % 10
    d. n // 10 % 100 // 10

13.以下表达式 10 / 4 + 23 // 4 * 2 - 30的计算结果是:__-17.5____。

1.数学运算符:+(加), -(减), *(乘), /(除), //(整除), %(取余), **(幂运算)

a.+,-,*,/,%和数学中的加、减、乘、除、求余的功能一模一样

a = 10 + 20
print(10+20)
print(100 - 20)
print(2*3.5)
print(5/2)
print(3%2)  

b.//(整除)

求商,商只取整数部分

print(5//2)
print(6.3//2)  

c.**(幂运算)

x**y -- x的y次方

print(2**3)
print(9**0.5)  

练习: 取出一个4位整数的百位上的数。例如,取出1234中的2, 3512中5

print(number%1000//100)
print(number//100%10)  

2.比较运算: >(大于), <(小于), ==(等于), !=(不等于), >=(大于等于), <=(小于等于)

所有的比较运算的结果都是布尔值

print(10 > 20)
print(10 < 20)
print(10 == 20)
print(10 == 10)
print(10 != 20)
print(20 >= 20)
print(20 <= 10)

3.逻辑运算符: and(与),or(或), not(非)

逻辑运算符操作的数据是布尔值,返回的结果也是布尔

a. and(与) -- 和、并且

两个都是True结果才是True,只要有一个是False结果就是False

print(True and True)   # True
print(True and False)  # False
print(False and True)  # False
print(False and False) # False

要求学习成绩的几点是3.5以上,并且操评分不低于90

score = 4.0
score2 = 80
print(score>3.5 and score2>=90)   # Flase

什么时候使用:要求两个或者多个条件同时满足

b.or(或) -- 或者

只要有一个是True结果就是True。两个都是False结果才是False

print(score>3.5 or score2>=90)   # True

什么时候使用:要求两个或者多个条件只要一个条件满足就行

c. not(非)

Ture变成False, False就变成True

age = 20
 年龄不小于18
print(not age<18)
print(age >= 18)

4.赋值运算符:=(赋值),+=, -=, *=, /=, %=, //=, **=

赋值符号的左边必须是变量;运算顺序是,先算赋值符号右边的值,然后再将右边的结果赋给左边

a. 变量 = 值

a = 10
b = 10 + 20
c = a+b   # 40
d = a > 10
print(d)  

b. 变量 += 值

这儿的变量必须是已经声明过的变量

a += 2  # 相当于 a = a+2
print(a)
b -= 10  # b = b-10
print(b) 
c = 2
c *= 6
print(c)

5.运算符的优先级

正负 > 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符

数学运算符中: ** > (*,/,%,//) > (+,-)

优先级高的先计算,如果优先级相同就从左往右依次计算。可以通过加括号,改变运算顺序

print(10 * 20 + 30 < 40 / 2 - 100)
#200 + 30 < 20 - 100  
 230 < -80
 False
print(10 * 20 + (30 < 40) / 2 - 100)
 10 * 20 + True / 2 - 100
200 + 0.5 - 100
100.5
print((10 * (20 + 30)) < (40 / 2 - 100))
print(-10 > -2 )
print(2 * 2 ** 3)
 补充: 变量必须先声明,再使用。
num1 = 10; num2 = 20
num1

计算机中常用的进制有:二进制、八进制、十进制、十六进制

 十进制:
 1.基数:0,1,2,3,4,5,6,7,8,9 例如:7283, 23901

2.进位:逢10进1

3.十进制数上的每一位:123 = 100+20+3 = 10^2*1+10^1*2+10^0*3
 3451 = 10^0*1 + 10^1*5 + 10^2*4 + 10^3*3

二进制:

1.基数:0,1 例如:110,10101,10001

2.进位:逢2进1

 3.二进制数上的每一位:1011 = 2^0*1 +\
   2^1*1 + 2^2*0 + 2^3*1 = 11(十进制)

数学规定:所有的数的0次方都是1

八进制:

1.基数:0,1,2,3,4,5,6,7

2.进位:逢8进1

 3.八进制数上的每一位:123 = 8^0*3 + 
  8^1*2 + 8^2*1 = 83(十进制)

十六进制:

1.基数:0-9,a-f(A-F) -- a(10)~f(15) 例如:1af

2.进位: 逢16进1

3.十六进制数上的每一位:123 = 16^0*3 + \
16^1*2 + 16^2*1 = 291(十进制)

进制间的转换

1.二进制、八进制、十六进制 ---> 十进制

进制数^位数(从0开始)*每一位上的值的和

123(16) = 16^0*3 + 16^1*2 + 16^2*1 = 291(10)
 123(8) = 8^0*3 + 8^1*2 + 8^2*1 = 83(10)
 1011(2) = 2^0*1 + 2^1*1 + 2^2*0 + 2^3*1 = 11(10)

2.八进制、十六进制 ---> 二进制

将一位的八进制转换成3位的二进制。将一位的十六进制转换成4位的二进制

 123(8) -> 001010011(2)
10(8) -> 001000(2)
 123(16) -> 000100100011(2)
 10(16) -> 00010000(2)

3.二进制 ---> 八进制、十六进制

将3位的二进制转换成1位的8进制。将4位的2进制转换成1位的16进制

 001 010 011(2) -> 123(8)
 0001 0010 0011 -> 123(16)

4.十进制 -> 二进制

相除取余法

python对进制的支持

python支持整数的二进制、八进制、十六进制。

1.python中二进制、八进制、十六进制数的表示

二进制:0b

print(0b11 + 10)
print(11+10)

print(bin(20))  # 将其他的数据转换成二进制 bin()
print(bin(0x20))

八进制:0o

print(0o11)

print(oct(20))  # 将其他的数据转换成八进制 oct()
print(oct(0b11011))

十六进制:0x

print(0xaf)
print(hex(20)) # 将其他的数据转换成十六进制  hex()

你可能感兴趣的:(day2运算符作业)