#G3OBJ03. GESP C++ 三级真题客观题|进制表示与转换
GESP C++ 三级真题客观题|进制表示与转换
01|2025-03-L3-SC-04
十进制数 111.111 的二进制表示可以是下面的( )。
{{ select(1) }}
- 1101111.0001110001
- 1101110.1001110001
- 1101111.1001110001
- 1101111.0011110001
02|2025-03-L3-TF-06
若将一个正整数化为二进制数,在此二进制数中,我们将数字 1 的个数是偶数的这类二进制数称为 A 类数,否则就称其为 B 类数。
例如:
(13)₁₀=(1101)₂,其中 1 的个数为 3,则称此数为 B 类数;
(10)₁₀=(1010)₂,其中 1 的个数为 2,称此数为 A 类数;
判断 (2025)₁₀ 化为二进制后,1 的个数为偶数个,因此 2025 为 A 类数。
{{ select(2) }}
- 正确
- 错误
03|2025-03-L3-SC-08
下列程序的作用是( )

{{ select(3) }}
- 将十进制数转换成八进制数
- 将八进制数转换成十进制数
- 将二进制数转换成八进制数
- 将八进制数转换成 16 进制数
04|2025-03-L3-TF-08
两个 13 进制的数 A 和 B,在 10 进制下分别表示 10 和 11。(A+B)₁₃=(18)₁₃,也就是说 13 进制数 A 加上 13 进制数 B,和是 13 进制数 18。
{{ select(4) }}
- 正确
- 错误
05|2025-03-L3-TF-09
k 进制,逢 k 进第二位;k² 进百位,k³ 进千位。
{{ select(5) }}
- 正确
- 错误
06|2025-06-L3-SC-05
二进制数 1101.101 对应的十进制数是( )
{{ select(6) }}
- 13.625
- 12.75
- 11.875
- 14.5
07|2025-06-L3-SC-07
八进制数 35.6 对应的十进制数是( )
{{ select(7) }}
- 29.75
- 28.5
- 27.625
- 30.25
08|2025-12-L3-SC-01
请将二进制数 (1101.101)₂,转换为等值的10进制数( )
{{ select(8) }}
- 14.25
- 13.625
- 13.5
- 14.5
09|2026-03-L3-SC-06
三进制数 2102₍₃₎ 转换成十进制是( )。
{{ select(9) }}
- 63
- 65
- 67
- 69
10|2026-03-L3-SC-08
已知 unsigned char c = 0x0F;(十六进制 0F = 二进制 00001111),执行 c = c << 3; 后,c 的十进制值是( )。
{{ select(10) }}
- 64
- 72
- 80
- 120
11|2026-03-L3-TF-09
在 C++ 语言中,表达式 ((0xf0 + 0x15) == 255) 的值为 true。
{{ select(11) }}
- 正确
- 错误
12|2026-06-L3-SC-02
计算机厂商为了计算方便,一般采用 1000 进制。如果我们买的厂商标注的是 1 TB 的硬盘,它实际的存储容量是( )。
{{ select(12) }}
- 1000 × 1000 × 1000 × 1000 ÷ 1024 ÷ 1024 ÷ 1024b = 931Gb
- 1000 × 1000 × 1000 × 1000 ÷ 1024 ÷ 1024 ÷ 1024B = 931GB
- 1024 × 1024 × 1024 × 1024 ÷ 1000 ÷ 1000 ÷ 1024B = 1049GB
- 1000 × 1024 × 1024 × 1024 ÷ 1024 ÷ 1024 ÷ 1024b = 977Gb
13|2026-06-L3-TF-06
十六进制数 CCF 对应的二进制数、八进制数、十进制数分别是:110011001111、6317、3269。
{{ select(13) }}
- 正确
- 错误
14|2025-06-L3-SC-08
二进制数 1010 | 1100 的结果是( )
{{ select(14) }}
- 1000
- 1110
- 1010
- 1100
15|2025-12-L3-SC-10
a & b | (c ^ d),其中 a = 3,b = 7,c = 15,d = 4,计算结果是( )
{{ select(15) }}
- 十进制11
- 二进制11
- 八进制11
- 十六进制11
16|2026-06-L3-SC-11
下面选项中提到的变量都是正整数,关于位运算,下面说法错误的是( )。
{{ select(16) }}
- num & 1,结果为 1 则奇数,0 则偶数(仅看最低位)。
- num & 0xFF 保留低8位。
- num & b 的结果一定小于等于 num。
- 若 num 左移导致高位溢出(如超过整型范围),结果符合乘法规律。
17|2026-06-L3-SC-15
现在有一个数,请你分别判断它们是否可能是二进制、八进制、十进制、十六进制。例如,6AFF 就只可能是十六进制,而 1011 则是四种进制皆有可能。输入 N(保证 1 ≤ N ≤ 1000),表示有 N 个数让你进行判断,接下来输入 N 个字符串(保证所有字符串长度不超过 10),判断可能是四个进制当中的哪个进制数。输出 N 行,每行 4 个数,用空格隔开,分别表示给定的字符串是否可能表示一个二进制数、八进制数、十进制数、十六进制数。使用 1 表示可能,使用 0 表示不可能。下面程序横线处可以满足这个要求的是( )。





{{ select(17) }}
- cout << (max >= '1') << " " << (max >= '7') << " " << (max >= '9') << " " << (max >= 'F') << endl;
- cout << (max <= '1') << " " << (max <= '7') << " " << (max <= '9') << " " << (max <= 'F') << endl;
- cout << (max = '1') << " " << (max = '7') << " " << (max = '9') << " " << (max = 'F') << endl;
- cout << (max < '1') << " " << (max < '7') << " " << (max < '9') << " " << (max < 'F') << endl;
18|2025-03-L3-SC-09
下面程序是将十进制转十六进制,横线处应该填入的是( )

{{ select(18) }}
- cout << oct << decimal;
- cout << decimal << decimal;
- cout << hex << decimal;
- 不能正确执行