우리는 프로그램에서 정수 및 문자 변수를 여러 번 사용했습니다. 여기서 우리는 그것들이 메모리에 어떻게 저장되는지 볼 것입니다.
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