⑴ 关于字符和整数在计算机内存中的存储格式
字符类型的在内存中存储形式是以相对应的ascll码值的二进制存储。
整数类型在内存中存储所需的字节根据系统位数和编译器等因素决定,如果是存储有符号数据的话,在内存中存储的二进制数据可以说是它的补码形式。正数的反码、补码是它自身,也就是存储自身的二进制形式。负数在内存中的存储形式是也是它的补码。负数的补码是它的反码(首位符号位不变,其他位取反)+1。总之字符有字符在内存中的存储,整数也有它相应在内存中的存储形式。
⑵ C语言中整形数据在内存中的储存形式是什么
整形数据在计算机中的数据的保存和运算都是以二进制的形式进行的,但不是直接的原码,而是原码的补码,也就是说在计算机中,数据的运算都是以数据的补码进行的.
整型数据在内存中的存放形式
如果定义了一个整型变量i:
int
i=10;
【0000000000001010】
数值是以补码表示的:
n
正数的补码和原码相同;
n
负数的补码:将该数的绝对值的二进制形式按位取反再加1。
例如:
求-10的补码:
10的原码:
【0000000000001010】
取反:
【1111111111110101】
再加1,得-10的补码:【1111111111110110】
由此可知,左面的第一位是表示符号的。
整型数据在内存中所占的位数(如下图所示):