如果说前两级还在"语法"层面,三级就开始动真格了——它要求孩子理解数据在计算机里到底是怎么存的。补码、进制、浮点数的二进制表示,是历年三级失分最集中的地方,也是最值得提前攻克的一关。
编程题两道,像"公共二进制位""分割字符串"——位运算与字符串处理的实战。
1. 补码:正数的补码就是它本身;负数的补码 = 绝对值按位取反再加一。理解了这个,取值范围(如 8 位有符号数 -128~127)、溢出、位运算就都通了。
2. 浮点数:float / double 在内存里分三段——符号位、阶码、尾数。很多"浮点数不精确""0.1 + 0.2 != 0.3"的现象,根源都在这里。不用背,理解结构即可。
3. 位运算:&(与)、|(或)、^(异或)、<< / >>(移位)是三级编程题的常客。"公共二进制位"这类题,本质就是位运算的应用。
数据表示是"投入产出比最高"的一块:题型固定、原理清晰,搞懂原理后能同时拿下选择题和编程题的一批分。
三级的分水岭不在"写代码",而在"懂机器"。把数据表示啃下来,这一级就稳了一大半。