c语言char型常量在内存中是以什么形式存放的

如题所述

char型常量(字符),在计算机中是按其ASCII值进行存储,ASCII是"整型类"数据,在内存中全部以补码形式进行存放。
补码是一种二进制数据表示形式。整数分为正数、负数和零,计算机设计初期,规定,以字节的最高位表示符号,其余位表示数值,来表示有符号数据,这就是原码。但原码表示法中出现了”正0“和”负0“的表示现象,因此,又研究出来了补码概念,最终用补码来进行数据的存储。
规定:
正数的原码与补码相同。
负数的补码=反码+1,
反码是原码符号位不变,其余位取反。
如:以一字节整数为例
-1的原码为:1000
0001
-1的反码为:1111
1110
-1的补码为:1111
1111
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-20
char型的数据在内存中是以ascii码来存放的.
比如:
char
cha
=
'a';
printf("%d",cha);
结果是a的ascii码
第2个回答  2020-02-26
不管什么数据类型,在内存中都是以二进制形式存放,只不过数据位宽不同,
char型一般占8bit