在C中存储整数和字符值

我们在程序中多次使用了整数和字符变量。在这里,我们将看到它们如何存储在内存中。

在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