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

char型常量(字符),在计算机中是按其ASCII值进行存储,ASCII是"整型类"数据,在内存中全部以补码形式进行存放。

补码是一种二进制数据表示形式。整数分为正数、负数和零,计算机设计初期,规定,以字节的最高位表示符号,其余位表示数值,来表示有符号数据,这就是原码。但原码表示法中出现了”正0“和”负0“的表示现象,因此,又研究出来了补码概念,最终用补码来进行数据的存储。

规定:

  • 正数的原码与补码相同。

  • 负数的补码=反码+1,

  • 反码是原码符号位不变,其余位取反。

如:以一字节整数为例

-1的原码为:1000 0001

-1的反码为:1111 1110

-1的补码为:1111 1111

猜你喜欢

转载自www.cnblogs.com/techecho/p/9501267.html