内容正文:
2023-2024学年浙教版高一上学期1.2 信息的编码
一、选择题
1.微型计算机中,最普遍应用的字符编码是( )
A.BCD码 B.汉字编码 C.ASCII码 D.补码
2.字母"d"的ASClH码值为100,则字母"g"的十六进制内码是( )
A.64H B.9CH C.67H D.9DH
3.在24×24点阵的字库中,汉字“一”和“戴”的字模谁占用字节数多?( )
A.“一”字多 B.“戴”字多 C.一样多 D.无法确定
4.高一年级有7个班级,每班最多42名学生。若要用二进制分别为班级号和学号进行编码,则至少需要的二进制位数是( )
A.班级号2位,学号5位 B.班级号2位,学号6位
C.班级号3位,学号5位 D.班级号3位,学号6位
5.18( )x-11( )y=17( )k 该等式成立,求 x,y,k 分别代表什么进制( )
A.16 24 10 B.10 24 16 C.24 16 8 D.16 8 10
6.下列算式计算结果为10H的是( )
A.1H×10D B.9H+1H C.20D-10B D.10B×8D
7.将十进制数30转换为二进制数,下列正确的是( )
A.11111 B.11101 C.11110 D.11011
8.字符“G”对应的ASCII码值为1000111,字符“E”对应的ASCII码值为
A.1000100
B.1000110
C.1000101
D.1001101
9.将十进制数18转换为二进制数,以下正确的是( )
A.10011 B.10001 C.10010 D.10100
10.计算机中信息的存放形式是:( )。
A.二进制 B.八进制 C.十进制 D.十六进制
11.ASCII码表中不包含以下哪个字符( )
A.“a” B.“学” C.“+” D.“9”
12.若在X进制下,等式(24)X =14D,则使 ( )X =28的值为
A.28 B.47 C.48 D.53
13.汉字在计算机内部的编码采用的是( )
A.机内码 B.ASCII码 C.字形码 D.BCD码
14.使用UltraEdit软件观察字符“IT信息技术”的内码,部分界面如图所示。
已知大写字母“A”的ASCII码为41H,下列选项中最有可能是字符“IT信息技术”的内码的是( )
A.49 54 D0 C5 CF A2 BC BC CA F5 B.49 54 7E C5 CF A2 BC BC CA F5
C.48 54 D0 C5 CF A2 BC BC CA F5 D.48 54 7E C5 CF A2 BC BC CA F5
15.使用UltraEdit软件查看字符内码,部分界面如图所示。下列说法正确的是( )
A.共有8个ASCII码字符 B.上述字符共占据12个字节
C.由图可知字符“A”的内码为81H D.字符“党”的内码二进制表示为“10110101 10110011”
二、填空题
16.计算机中将信息用规定的代码来表示的方法称为 。
17.在计算机中存储一个英文字母占用 个字节,存储一个汉字则需要占用 个字节。
18.十进制数129.375转换为二进制数为 。
三、判断题
19.ASCII ((American Standard Code for Information Interchange): 即美国信息交换标准代码。 ( )
四、操作题
20.小明编写了一个字符加密程序,如图1所示,输入明文(可包含字母、数字和特殊字符"!@$%&~")和密钥(可包含字母和数字字符),按如下步骤加密:
1.计算密钥平均值k:
密钥中的英文字符,按字母表位序代表其数值。例:输入密钥Ab7得到的密钥平均值k为(1+2+7)//3=3;
2.根据k对明文加密:
①遇到英文字符,则按凯撒密码加密,后移k位,例:k=3,则"a"加密后为"d"。
②遇到数字字符,则将k和该数字异或,再把异或结果转为十进制并加"#"。例:k=3,对应的二进制为"11"; 明文字符"2",对应的二进制为"10";异或二进制结果为"01",对应的密文为"1#"。
(异或⊕运算:先把参与运算的数转换为二进制,再进行按位运算。可参考图2)
③其他字符保持不变。
④逆序输出,得到最终密文。
#主程序
ming=input("请输入明文:")
key=input("请输入密钥:")
k=ave(key) #计算平均密钥值
mw=""
for i in ming:
if ''0 ''<=1<=9''.
mw=str(yh(i,k))+"#"+mw
elif"a"<=i<="z" or "A"<=i<="Z":
mw=ks(i,k)+mw
elifi in "!@$%&~":
mw=i+mw
else:
print("输入有误,请重新输入")
break
print("加密后密文:"+mw)
图1 图2
(1)主程序用到了 (A.枚举算法/B.解析算法)
(2)计算平均密钥值
def ave(key):
s=0
for i in key:
if ''a''<=i<=''z'' or ''A'' <=i<="Z'':
s+=
elif ''0''<=i<="9";
s+=int(i)
k=s//len(key)
return k
(3)进制相互转换
def DtB(x):#十进制转二进制
if x==0:
return "0"
s=""
while x>0:
r=x%2
①
x=x//2
return s
def BtD(s):#二进制转十进制
x=0
for i ins :
②
return x
(4)数字进行异或加密
def yh(ming,key):
s1=DtB(int(ming))
s2=DtB(key)
if len(s1)<len(s2):
s1,s2=s2,s1
s2="0"*(len(s1)-len(s2))+s2 #在s2前补0使其与s1长度一致
res=""
for i in range(len(s1)):
res=
mw=BtD(res)
return mw
#英文字母进行凯撒加密ks(ming,key)代码省略
五、简答题
21.我国秦朝以前,各国的钱币和度量衡的单位都不统一,各国商贾和百姓之间的交易并不方便。秦朝统一六国后,秦始皇下令统一度量衡,由李斯负责起草文件。当时度量的标准已经基本确定,唯独这“衡”还拿不定主意,于是李斯去请教始皇帝。秦始皇提笔写下了“天下公平”以作批示,但并没有给出确切的数目参考。李斯为了避免以后遭到罪责,决定将“天下公平”这四个字的笔画数(一共16画)作为重量标准,于是确定了一斤等于十六两的规则,并在我国长达2000多年的封建社会一直沿用,直到新中国成立后才改成现在的一斤等于十两。“半斤八两”的故事,可以说明十六进制的使用有悠久的历史。
(1)查阅资料回答,为什么中国古代的秤用十六进制,而现代的秤却用十进制?
(2)十六进制与八进制是如何快速转换的?
(3)有人写了一个数制转换的等式:85-33+110=40。若要使该等式成立,则85、33、110、40有可能分别为什么进制?
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.C
2.C
3.C
4.D
5.C
6.D
7.C
8.C
9.C
10.A
11.B
12.D
13.A
14.A
15.D
16.编码
17.1、2
18.10000001.011
19.对
20. A (ord(i)-ord("A"))%32+1或ord(i.lower())-ord(''a'')+1或ord(i.upper())-ord("A")+1或ord(i)-64-ord(i)//97*32或ord(i)%32 s=str(r)+s x=x*2+int(i) res+str((int(s1[i])+int(s2[i]))%2)或res+str(abs(int(s1[i])-int(s2[i])))
21.答:参考百度资料。
(1)根据历史记载,在我国古代的时候,通常都是用北斗七星、南斗六星和福禄寿三星制作秤杆,秤杆上的十六个点就分别代表着它们,这十六星在秤杆上刻制成当时的“十六星花”,这十六星告诫做买卖的人们要为人实诚,不欺瞒顾客。否则的话,卖给别人少一两就少福气,少二两就少利禄,少三两可就折寿了,这就做成了一把十六两的秤,也叫十六金星秤。这个方法从古代一直被人民群众沿用到解放初期。改革开放带来的无神论思想,在无形之中冲破了许多传统封建习俗,也让秤杆的技术方法与约束变得不复存在
推想二:我国古代时民间生活疾苦,用于称量的器具自然相对粗糙简陋,如果是要在一根本头上取得平均值,最边界的方法莫过于用绳子对折一次两等分,再对折一次四等分,这样一来,十六等分刚好是适合测量的程度,分十六等分明显比分十等分容易;再比如,一个秤砣如果刚好重一两,就可以用秤杆称出相同一两重的东西,然后两边的重量只要加在一起就可以称出二两的物品。同理,这样的方法来称四两、称八两、称十六两都是极为方便的——因为十六进制可以乘以二除以二,所以用一些很简单的工具,就可以轻松做到换算,但如果是用十进制的话工具要求就比较高了,操作也相对比较麻烦。而我们现代随着科技的发展和技术的提高,渐渐地,十进制变得比较符合我们日常生活中的运算,是时代的进步推动了算数的发展,这也算是一种现代化的表现吧。
(2)用二进制过渡一下,先将一位十六进制转换为四位二进制,然后将所有二进制从右往左每三个一组(如果最后一组不足三位,在前面补0),转换为八进制。
举个例子吧,十六进制34为例,转换:
1、首先将十六进制34转换为二进制:0011 0100(原则是一位十六进制转换成二进制是四位,如3转换成0011 ,4转换成0100)
2、将二进制0011 0100 从右往左每三个一组,如果最后一组不足三位,在前面补0,故变成
000 110 100,然后每三位转换成一位八进制,即064.
故十六进制34转换为八进制后为64
(3)有人写了一个数制转换的等式:85-33+110=40。若要使该等式成立,则85、33、110、40有可能分别为什么进制?
答:因为(85)10=(0101 0101)2=(125)8=(55)16
(33)8=(1B)16
(110)2=(6)16
所以(55)16-(1B)16+(6)16=(40)16
85、33、110、40有可能分别为十、八、二、十六进制。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$