定点数、C语言转换与对齐冲刺
约 42 分钟
来源主题归并
本冲刺课“定点数、C语言转换与对齐冲刺”仅依据源课程文件名中的 考点3_定点数的表示与运算、考点4_C语言中各种数据的转换、考点6_数据的对齐和大小端存储 归并主题;没有读取或复制转写正文。源 manifest 共354份,其中28份为具名考点文件,其余326份为历年题与模拟题文件。本课把同一计算链上的具名考点合并,便于用历年与模拟文件做后续映射。
一、高频结论
补码位型的解释取决于类型宽度与有无符号;C语言窄化转换通常保留低位,再按目标类型解释。大小端只改变多字节对象在内存中的字节次序,不改变寄存器中的数学数值。
冲刺阶段必须把概念转成可计算模型。题目出现位宽、时间、频率、容量、命中率或事件率时,先写单位和数据路径,再判断公式的每一项在题面是否真的给出。
二、统一解法
转换题先写源值的无限精度整数,再对2^n取模得到n位位型,最后按目标有无符号解释;结构体布局另按成员对齐和整体最大对齐计算。
计算过程保留中间量,并明确使用十进制GB还是二进制GiB、时钟频率还是传输率、额外罚时还是总时间。改变一个前提后若公式不再成立,应从数据路径重建,而非只换数字。
三、带参数例题
-5转换为8位无符号整数,相当于对256取模,结果251,位型为11111011;同一位型解释为8位有符号补码时仍是-5。
答案完成后做范围与数量级复核。性能结果不能快于物理下界,地址与立即数不得超位宽,容量必须能被芯片或块数量解释,概率加权的各路径权重应为1。
四、冲刺陷阱
把强制类型转换当作修改内存字节顺序,或负数转无符号后仍填负数。
复盘时把错因标成“概念解释、路径遗漏、单位、位宽、概率或边界”之一,并用一个变式参数立即重算,防止只记住原题数值。
五、在线验收
本课配单选、多选和真实参数数值题。单选查严格边界,多选查计算流程,数值题由后端按容差判分;每题均挂在本课,适合作为源 manifest 主题映射后的在线落点。
Practice
本课练习
先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。