GESP 三级 · GESP 202512 C++ 三级 第 8 题

选择题 · 答案 A

← 整套速查表 GESP 三级 全部真题

题目

在一个特定的计算机系统中,假如 unsigned int 类型需要占用 $2$ 个字节的存储空间(每个字节有 $8$ 位),则 unsigned int 可以表示的数据范围是( )

答案:A

解题思维

答案A。计算机存储的基本单位是Byte(字节),用大写B表示。1 Byte = 8 bits。

常见错误

易错点:Byte(B)和bit(b)容易混淆。1 Byte = 8 bits。大写B是字节,小写b是位。

详细解析(节选)

【考点】C++ 数据类型|二进制表示|无符号整数范围

🎯 考纲定位 本题考查 GESP 三级大纲中"C++ 数据类型与内存表示"模块。命题人卡住学生的是"unsigned 与 signed 范围混用"这个基础概念漏洞——很多孩子看到 int 就下意识想负数范围,完全忽略了 unsigned 的无符号特性。

🧠 解题思维 1. 2 字节=16 位,unsigned 意味着范围从 0 开始 2. 16 位二进制能表示的最大值是 2^16-1=65535(满额二进制 1111111111111111) 3. 最小值是 0(全 0) 4. 通法:n 位 unsigned 范围恒为 [0, 2^n-1],n 位 signed 范围恒为 [-2^(n-1), 2^(n-1)-1]

🪤 陷阱拆解 B 选项是典型的"多算 1 个"陷阱——学生常误以为 2^16 就是最大值,忘了二进制位全 1 实际等于 2^16-1;C 选项偷换概念,把 unsigned 当 signed 用;D 选项是 signed short 的 15 位范围,属于记忆混淆。命题人利用"满额计数容易多 1"的心理弱点。

🔄 反命题思维 若把 unsigned 改成 signed,直接选 C;若改成 4 字节 unsigned,范围是 0~4294967295;若问"能表示多少个值",答案是 2^16=65536(注意这是计数不是范围)。刷到此类题先问"有符号还是无符号",再问"几个字节",两步定生死。

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断