C语言自学中。。。。。
C primer plus第三章中写道:
奇怪的是C语言将字符常量视为int类型而非char类型。
例如在int位32位 char为8位的ASCII系统中有下面代码
char grade = ‘B‘,
本来‘B’对应的66储存在32位的储存单元中,现在却可以储存在八位的单元中(grade)。利用字符常量的这种特性,可以定义一个字符常量'FATE',即把四个独立的八位ASCII码储存在一个32位存储单元中。如果把这样的字符常量赋给char类型变量grate,只有最后八位有效。因此,grade的值是'E'。
这段话怎么理解,为什么B就变成了E了,
66的二进制是1000010 八位储存是01000010
那FATE就是四个01000010
那么后八位是不是还是01000010吗?
那么为什么grade的值会变成‘E’
E的ASCII是69,换成二进制储存是01000101难道后八位是这个?
求解答!!!!!!!谢谢!!!!!!