Page 2 - 컴퓨터구조(프로그래밍 관점에서 바라보는)도서 미리보기
P. 2

33CHAPTER 2? 컴퓨터 내부의 데이터 표현

아래는 C 언어에서의 char, unsigned char 형의 크기와 표현할 수 있는 값
의 범위를 의미한다.

 데이터 타입        최소 크기                                        값의 범위
unsigned char  1 바이트                                        0 ~ +255
               1 바이트                                      -128 ~ +127
      char

 확인 코딩 1-2 오버플로우 예제

각 자료형이 표현할 수 있는 숫자 범위에 대해서, 아래 프로그램의 결과를
보고 왜 이런 값이 출력되는지 생각해보자.

         프로그래밍: C 언어에서 오버플로우 발생시켜 보기                                                unsigned char는 0~255
                                                                                    까지 표현하다. 아래는 255
#include <stdio.h>                                        결과 에 1을 더해서 256이 되려
                                                                                    는 순간인데, 0이 되어 버린
int main() {                                                                        것이다.
        unsigned char c;
                                                                                    0에서 1을 빼는 순간 음
        c = 255;                                                                    수를 표현할 수 없기 때문
        c = c + 1;                                                                  에 over-flow가 발생해서
	                                                                                   255가 된다.
        printf(“%d\n”, c);

        c = 0;
        c = c - 1;
	
        printf(“%d\n”, c);
	
        return 0;
}

                                                     0
                           웹에서 확인해보기

                                                     255
   1   2   3   4   5   6   7