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
本课练习
先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。
本课练习正在补齐,暂不应标记为完成。