#K3016. C3.16 进制转换
C3.16 进制转换
一、选择题。
- 与十进制数 1770对应的八进制数是? {{ select(1) }}
- 3350
- 3351
- 3352
- 3540
- 进制转换是指将一个数从什么转换为另一个进制的过程? {{ select(2) }}
- 字母
- 符号
- 一个进制
- 数字
- 在进制转换中,用于表示数值的数字个数称为? {{ select(3) }}
- 基数
- 权值
- 数码
- 进制
- 十进制小数 125.125 对应的 8 进制数是? {{ select(4) }}
- 100.1
- 175.175
- 175.1
- 100.175
- 在任意进制中,从右往左数,每个数字的权值依次如何变化? {{ select(5) }}
- 递增
- 递减
- 不变
- 无法确定
- 十进制数123中,数字1的权值为多少? {{ select(6) }}
- 10
- 10^3
- 1
- 十进制转换为二进制时,整数部分应该采用什么方法? {{ select(7) }}
- 除 2 取余,逆序排列
- 乘 2 取整,顺序排列
- 直接转换
- 无法转换
- 八进制数345转换为十进制,其数值为多少? {{ select(8) }}
- 229
- 235
- 239
- 241
- 将十六进制数转换为十进制数时,需要将每一位数乘以它的什么? {{ select(9) }}
- 基数
- 权值
- 数码
- 进制
- 进制转换在计算机科学中的应用主要是什么? {{ select(10) }}
- 方便数据存储
- 提高计算速度
- 简化算法设计
- 增强数据安全性
二、程序填空
进制转换
题目描述
N 进制数指的是逢 N 进一的计数制。例如,人们日常生活中大多使用十进制计数,而计算机底层则一般使用二进制。除此之外,八进制和十六进制在一些场合也是常用的计数制(十六进制中,一般使用字母 A 至 F 表示十至十五;本题中,十一进制到十五进制也是类似的)。在本题中,我们将给出个不同进制的数。你需要分别把它们转换成十进制数。
输入格式
输入的第一行为一个十进制表示的整数 N。
接下来 N 行,每行一个整数 K,随后是一个空格,紧接着是一个 K 进制数,表示需要转换的数。
保证所有 K 进制数均由数字和大写字母组成,且不以 0开头。保证 K 进制数合法。
保证 N≤1000,保证 2≤K≤16,保证所有 K 进制数的位数不超过 9。
输出格式
输出 N 行,每一个十进制数,表示对应 K 进制数的十进制数值。
输入输出样例
2
8 1362
16 3F0
754
1008
#include <bits/stdc++.h>
using namespace std;
___①___ n,k,ans;
char s[10];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
___②___
ans=0;
for(int j=0;j<___③___;j++)
{
if(___④___ && s[j]<='9')
{
ans+=(s[j]-'0')*pow(k,strlen(s)-j-1);
}
else
{
ans+=(___⑤___+10)*pow(k,strlen(s)-j-1);
}
}
cout<<ans<<endl;
}
return 0;
}
- 第①处。( ) {{ select(11) }}
- int
- long long
- char
- int 或 long long
- 第②处。( ) {{ select(12) }}
- cin>>k>>s[i];
- cin>>s[i]>>k;
- cin>>s>>k;
- cin>>k>>s;
- 第③处。( ) {{ select(13) }}
- s.strlen()
- strlen(s)
- s.size
- s.size()
- 第④处。( ) {{ select(14) }}
- s[j]>'-1'
- s[j]>='1'
- s[j]>'0'
- s[j]>='0'
- 第⑤处。( ) {{ select(15) }}
- s[j]-'A'
- s[j]-55
- s[j]-65
- s[j]-'A'+11
相关
在以下作业中: