ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 양의 정수와 음의 정수
    Computer Science 2021. 3. 3. 11:56

    (컴퓨터는 정수(integer)를 1, 2, 4, 8, 바이트 등 다양한 크기로 저장한다. 이 글에서는 1바이트를 기준으로 설명한다.)

     

    양의 정수

    정수에는 양수와 음수가 있으므로 부호를 나타내는 데 1비트를 사용한다. 맨 앞의 비트가 0이면 양수, 1이면 음수다.

    예를 들어 25를 메모리에 저장할 때 맨 앞의 비트는 양수이므로 0이 된다. 10진수 25를 2진수로 변환하면 11001이므로 나머지 비트를 0으로 채우면 0001 1001로 메모리에 저장된다.  맨 앞의 비트가 부호를 나타낸다는 사실만 알고 있다면 10진수를 2진수로 변환한 것과 같다.

     

    (1바이트로 나타낼 수 있는 수의 크기는 2의 8제곱(0~255)이 아니라, 맨 앞의 비트를 부호로 사용하므로 표현할 수 있는 양수의 범위는 절반으로 줄어든다.(-128~127) but. 음수를 취급하지 않아 0~255를 나타낼 수 있는 자료형도 있다.

     


    음의 정수

    컴퓨터는 음수를 보수의 형태로 저장하기 때문에, 보수의 개념을 알아야 한다.

    ex) -4의 2의 보수 

    -2의 보수로 표현하는 이유

    양수와 음수를 모두 양수처럼 저장한다고 가정하면, 0000 0000과 1000 0000은 +0과 -0이 된다. 즉. 0을 표현하는 두 가지 방법이 존재하게 되기에, 컴퓨터 입장에서는 수 하나를 더 표현할 수 있는데 비트 하나를 낭비하게 된다. 또한 두 수를 비교할 때 CPU에서 뺄셈을 하는데 +0과 -0을 비교하면 결과 값이 예상과 다르게 나온다.

    'Computer Science' 카테고리의 다른 글

    컴퓨터의 동작 원리  (0) 2021.10.28
    컴파일러 언어vs 인터프리터 언어  (0) 2021.05.09
    Home server  (0) 2021.04.10
    문자와 문자열  (0) 2021.03.03
    실수  (0) 2021.03.03
Designed by Tistory.