内容正文:
浙江良品图书有限公司
精彩三年学考尖峰 信息技术 2022浙江
专题集训7 进制转换的实现
单击此处编辑母版文本样式
1
1.用Python编写代码,实现将正整数十进制数转换为十六进制
的程序。程序功能如下:输入一个十进制数,执行程序后,
输出其对应的十六进制数。程序运行效果如下图所示。
(1)若键盘输入65,则执行程序后输出的值为______。
(2)请在画线处填入合适的代码:
x=input('请输入待转换的十进制数:')
41
单击此处编辑母版文本样式
x=①__________
s=''
while x>0:
r=②_________
x∥=16
if r>9:
a=chr(r+55)
else:
a=str(r)
int(x)
x%16
单击此处编辑母版文本样式
s=③_________
print('转换后的十六进制数为:',s)
解析 十转十六的方法是除十六倒取余数。x%16实现对16取余
数,s=a+s,实现倒取输出。
a+s
单击此处编辑母版文本样式
2. k进制数转换为十进制数。将k进制(k<=10)数x转换为十进制
数。程序运行效果如下图所示。程序功能实现如下:键盘依
次输入进制数k和待转换的数x,执行程序后,输出转换后的
十进制数。
(1)若进制k输入为2,待转换的数为101101,则进制转换后的
值为_______。
(2)请在画线处填入合适的代码:
45
单击此处编辑母版文本样式
k=int(input('请输入进制数k:'))
x=input('请输入待转换的数值:')
s=0;i=0
while①___________:
t=int(x[i])
s=②______________________________
③__________
print(k,'进制数',x,'转换为十进制数为:',s)
i<len(x)
s*k+t或s+t*k**(len(x)-1-i)
i=i+1
单击此处编辑母版文本样式
(3)分析程序,若进制k输入为7,待转换的数为26,则执行程
序后输出的内容为_________________________________。
7进制数26转换为十进制数为:20
单击此处编辑母版文本样式
3.十进制数转换为k进制数(k介于2~16之间)。设计如下程序:
依次输入十进制数d和进制数k,执行程序后,将十进制数转
换为k进制并输出。程序运行效果如下图所示。
(1)请在画线处填入合适的代码:
m='ABCDEF'
d=int(input('请输入十进制数:'))
单击此处编辑母版文本样式
k=int(input('请输入进制数k:'))
s=''
while①________:
r=d%k
if r>9:
c=②____________
else:
c=str(r)
s=c+s
d>0
m[r-10]
单击此处编辑母版文本样式
d=③________
print('结果为:',s)
(2)运行程序,输入十进制数38,输入进制数2,则程序的输出
内容为________________。
解析 十进制转换为k进制的方法:除k倒取余数。当余数大于
9时,需顺序对应ABCDEF。以A为例,数值为10,下标对应
为0。
d//k
结果为100110
单击此处编辑母版文本样式
4.现编写一个程序,把输入的十进制数转换为二进制数,并判
断二进制数中的“0”和“1”的个数是否相等。程序功能实现如
下:输入待转换的十进制数x,执行程序后,输出转换后的二
进制数,并输出“相等”或“不相等”。程序运行效果如下图。
(1)若输入十进制数为52,其转换后的二进制数为__________
其中0,1的数量是否相等_________(相等/不相等)。
110100
相等
单击此处编辑母版文本样式
(2)请在画线处填入合适的代码:
c0=0;c1=0
s=''
x=int(input('请输入十进制数:'))
while x>0:
y=①_________
if y==0:
②______________
else:
x%2
c0+=1
单击此处编辑母版文本样式
c1+=1
s=③___________
x∥=2
print('二进制数为:',s)
if④____________:
print('相等')
else:
print('不相等')
str(y)+s
c0==c1
单击此处编辑母版文本样式
解析 除2倒取余数,y中存放余数