一位C的学生,请问什么(๑•̌.•̑๑)ˀ是舍弃最高位,看解析也没看懂
因为字节最大为0-255,而整数型最大可以存放2147483647,你像一下,本身只能装最大255怎么装得下其他数呢,所以他会默认只保留8各位作为结果,你会发现无论字节你填写的是多大,哪怕是100000,他返回的也是255之内的数字
舍弃最高位是在数据存储溢出的情况下发生的。char占一个字节长度,也就是8位。你给char赋值290,是占9位的整数,超过了8位,那么最高位就存储不到char变量里,被丢弃了。最高位就是第9位,所以实际存储到char变量的值是290-256=34。因为第9位就是2的8次方,也就是256
只要赋值超过8位给char变量,那么超过8位的数据都会被丢弃掉的,只能留下最低的8位