求舍弃最高位的详细解答

一位C的学生,请问什么(๑•̌.•̑๑)ˀ是舍弃最高位,看解析也没看懂

img

舍弃最高位是在数据存储溢出的情况下发生的。char占一个字节长度,也就是8位。你给char赋值290,是占9位的整数,超过了8位,那么最高位就存储不到char变量里,被丢弃了。最高位就是第9位,所以实际存储到char变量的值是290-256=34。因为第9位就是2的8次方,也就是256
只要赋值超过8位给char变量,那么超过8位的数据都会被丢弃掉的,只能留下最低的8位