跳到正文

2.1.4 C语言中的整数类型及类型转换、零扩展、符号扩展

40 分钟

2.1.4 C语言中的整数类型及类型转换、零扩展、符号扩展

位级模型

位数扩展时无符号数补0,有符号补码复制符号位。窄化只保留低位,可能改变数值。C中有符号/无符号混合比较常先转无符号,需按实际位宽判断。

数值与状态推演

8位补码11111011扩到16位为11111111 11111011,仍是-5;零扩展则成为251。16位0x01FF截8位为0xFF。

所有计算固定题设位宽,每步写位串、解释类型、是否截断以及溢出依据。

错解反馈与迁移

错因是所有扩展都补0。迁移:int8_t -1转uint8_t通常得到255。

小纸条

int8_t -1转uint8_t通常得到255。

登录 后可看答案

Practice

本课练习

0

先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。

本课练习正在补齐,暂不应标记为完成。