题目
1.下列四组数,依次为二进制、八进制和十六进制,符合要求的是()
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的结果为()
a. 1001
b. 1010
c. 1110
d. 1101
3.八进制754中的数码7对应的位权是()
a. 10^2 b. 16^1 c. 8^2 d. 2^2
4.十进制数53转换成二进制数是()
a. 100101
b. 110101
c. 100100
d. 110100
5.(偏难)已知,十进制中的8在X进制中表示为11,即(10)8=(X)11。请问这个X进制具体为()进制
a. 6
b. 7
c. 8
d. 9
6.二进制的1000001相当十进制的______,二进制的100.001可以表示为______ 。
A: ① 62 ② 63 ③ 64 ④ 65
B: ① 23+2–3 ② 22+2–2 ③ 23+2–2 ④ 22+2–3
7.使用位运算判断一个数是否是奇数
注:奇数的二进制的最后一位是1,偶数是0
8.表达式0x13&0x17的值是( )
9.若x=2,y=3则x&y的结果是( )
10.表达式 ord('a') | ord('z') 的运算结果是()
11.在位运算中,操作数每右移一位,其结果相当于( )
A.操作数乘以2 B.操作数除以2
C.操作数除以4 D.操作数乘以4
12.设x 是一个整数(16位).若要通过x|y使x低度8位置1,高8位不变,则y的二进制数是______
答案
-
答案为D;答案A选项中12不是二进制 ,答案B中80不为八进制,答案D中78不为不进制
-
答案为C;
-
答案为C;八进制中753中数7所对应的位权为8^2, 意思是数需要增多64,753才会变为853,同理5所在的位权为8^1,数增加8,753就变为763
-
答案为B;倒除法,余数倒写
余数
53 / 2 = 26 1
26 / 2 = 13 0
13 / 2 = 6 1
6 / 2 = 3 0
3 / 2 = 1 1
1 / 2 = 0 1
-
答案为B;1 * X^0 + 1 * X^1 = 8 得出X = 7
-
④65,④2^2 + 2^(-3) ;
1000001 = 1 * 2^0 + 0 * 2^1 +…… + 1 * 2^6 = 1 + 64 = 65
100.001 = 1 * 2^(-3) + 0 * 2^(-2) + 0 * 2^(-1) + 0 * 2^(0) + 0 * 2^(1) + 1 * 2^(2) =2^2 + 2^(-3) -
这里用位运算符的特性来做,下面只列举两种
按位与&判断
a = int(input("请输入一个整数:"))
b = bool(a & 1)
print("%s是不是奇数呢?" % a, b)
按位或|判断
b = bool((a%2) & 0)
print("%s是不是奇数呢?" % a, b)
- 答案为19;
0x13 = 00010011
0x17 = 00010111
(0b)19 =00010011
- 答案为2;
(0b)2 = 10
(0b)3 = 11
相加 = 10
- 答案为123;
ord("a") = 97
ord("z") = 122
(0b)97 = 1100001
(0b)122 = 1111010
result = 1111011 = 1 * 2^0 + 1 * 2^1 + 0 * 2^2 + 1 * 2^3 + 1 * 2^4 +
1 * 2^5 + 1 * 2^ 6 = 1 + 2 + 8 + 16 + 32 + 64 = 123
-
答案为B;
-
答案为0b0000000011111111
高八位 低八位
x = 0bxxxxxxxx xxxxxxxx
x2 = 0bxxxxxxxx 11111111
y = 0b00000000 11111111
使x低八位全为1,y的低八位就全为1,x高八位不变,y的高八位就都为0
网友评论