没看明白哇求各位解答

img

什么32位 8位有效没看明白求解答jskdkdmdmxmxmcjxjdjdksmsmdmd

书上书的很清楚,c语言中,将字符常量视为int类型而非char类型,这说的是运算的时候,比如1 + 'A',结果是66;
但是对于存储,int类型占4个字节,也就是32位,对于字符来说,取值范围是-128~+127,因此可以存储在8位存储空间,这样就不用浪费32位存储空间了(个人理解,运算和存储需要单独来看)

数据存储需要空间的。
空间的单位是有,位,字节等等
位是最小的
1个字节等于8个比特位
char类型要8个比特位的空间,如果你给char类型变量超过了8个比特位,它的空间就存不下,也就无效,会发生截断。存进去只会存8个比特位

你画的太乱了,照片也不完整。
大概你是想问将一个字符,如‘B’赋值给一个char后的情况。
其中字符'B’是66,对应二进制为01100110,也就是8位
赋值给char后,因为char类型被分配的空间为32位,所以只有32位里的低八位会被赋予‘B’的值,也就是所谓的8位有效

8位是一字节,char类型是4字节,即32位所以说储存32为的储存单位,要知道电脑是不能直接保存字符的,电脑只会0和1所以这中间就需要转换比如字母A转化为ascll码是为了用二进制转化为0和1这样就可以保存了