在C语言中,`char` 类型是一个有符号的8位整数类型,其取值范围为-128到127,对应二进制表示如下:
一、取值范围与二进制表示
正数范围(0-127) - 0:`0000 0000`
- 127:`0111 1111`
- 示例:10对应的二进制为`0000 1010`。
负数范围(-128及以下)
- 采用 补码表示法。 - -128:`1000 0000`(符号位为1,其余位取反后加1)。
二、特殊说明
补码计算规则: 正数补码与原码相同; 负数补码为:符号位为1,其余位逐位取反后加1。 溢出情况
若将128赋值给`char`类型变量(128的二进制为`0000 0000 0000 0000 0000 0000 1000 0000`),会导致溢出,实际存储值为-128。
三、补充说明
存储单位:`char`占用1个字节(8位);
扩展类型:`unsigned char`为无符号类型,范围为0-255。
通过上述规则,`char`类型能够灵活表示字符集(基于ASCII编码),同时兼容负数运算。