我们在程序中多次使用了整数和字符变量。在这里,我们将看到它们如何存储在内存中。
在C中,字符值也存储为整数。在下面的代码中,我们将270放入字符类型数据中。因此270的二进制等效值为100001110,但仅从右开始取前8位。因此结果将是(00001110),即14。然后将值存储到变量a中。它还会发出溢出警告。
在下一个变量y中,我们尝试存储负数,例如-130。负数将以2的补数形式存储。因此130的二进制为(10000010)。2的补码值是01111101 + 1 =01111110。这里也取最右边的8位。因此结果将是(01111110)= 126
#include <stdio.h> int main() { char x = 270; char y = -130; printf("The value of x is: %d\n", x); printf("The value of y is: %d", y); }
输出结果
The value of x is: 14 The value of y is: 126