C语言中常量在内存中的存储形式怎么表示

如题所述

这要知道
原码、补码与反码的关系。
在c语言中,负数是用补码表示的。
最高位为1,表示负数,为0表示正数
以八位为例,8在内存中的形式是00001000;
-8就是8的原码的反码+1
反码:11110111
补码:11110111
+
1
=11111000。这就是其形式。
楼上给出的是16位形式~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-18
整数是以补码的形式转换为二进制代码存储在计算机中。
实数是以IEEE754标准转换为二进制代码存储在计算机中。
字符本质实际也与整数的存储方式相同(先通过ASCII码把字符转换为对应的整数,再按整数以补码形式转换为二进制)。
第2个回答  2019-02-13
1、整数是以补码的形式转换为二进制代码存储在计算机中。
实数是以IEEE754标准转换为二进制代码存储在计算机中。
字符本质实际也与整数的存储方式相同(先通过ASCII码把字符转换为对应的整数,再按整数以补码形式转换为二进制)。
2、char型常量(字符),在计算机中是按其ASCII值进行存储,ASCII是"整型类"数据,在内存中全部以补码形式进行存放。
补码是一种二进制数据表示形式。整数分为正数、负数和零,计算机设计初期,规定,以字节的最高位表示符号,其余位表示数值,来表示有符号数据,这就是原码。但原码表示法中出现了”正0“和”负0“的表示现象,因此,又研究出来了补码概念,最终用补码来进行数据的存储。
规定:
正数的原码与补码相同。
负数的补码=反码+1,
反码是原码符号位不变,其余位取反。
如:以一字节整数为例
-1的原码为:1000
0001
-1的反码为:1111
1110
-1的补码为:1111
1111
相似回答