Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

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