2-1. 컴퓨터의 데이터 표현 방식


1. 컴퓨터에서 수를 표현하는 방법

1-1. 10 진수와 2 진수

10 진수 : 0~9까지 한자리 수 10부터 단위가 넘어가면서 다시 1 0 이 되는 방식이다. 2 진수 : 0과 1 두 개로만 표현되는 수이다.

10 진수 0 1 2 3 4 5 6 7 8 9 10
2 진수 0 1 10 11 100 101 110 111 1000 1001 1010

위 표는 10 진수는 0~9 까지 의 숫자를 사용, 2 진수는 0과 1로만 표현되는 수를 정리한 것이다.

1-2. 2 진수, 16 진수, 8 진수

자바에서는 2 진수,8 진수,16 진수를 사용할 수 있다. 2 진수는 비트 값을 그대로 표현 가능 하지만 너무 길기 때문에 8 진수, 16 진수로 바꿔 사용하면 더 편리하게 사용 가능하다. 8 진수 —> 2 진수 : 3개의 비트 필요 16 진수 —> 2 진수 : 4개의 비트 필요

10 진수 0 1 2 3 4 5 6 7 8
8 진수 0 1 2 3 4 5 6 7 10
16 진수 0 1 2 3 4 5 6 7 8
10 진수 9 10 11 12 13 14 15 16
8 진수 11 12 13 14 15 16 17 20
16 진수 9 A B C D E F 10

위 표는 0~16 까지 수를 8 진수와 16 진수로 나타낸 것이다.


2. 부호 있는 수의 표현 방법 (2의 보수란?)

<aside> 💡

컴퓨터에선 0과 1로만 수를 표현 할 수 있기 때문에 부호 또한 0과 1로 표현한다. 부호를 나타내는 비트는 맨 앞에 붙이며 부호 비트라고 부른다. 부호 비트가 0이면 양수 1이면 음수이다.

</aside>


2-1. 2의 보수란?

보수란 보충해 주는 수이다. 예를 들어 어떤 특정한 10 진수 N이 있을 때 3에 대한 N의 보수는 3과 어떤 수를 합하여 N이 되는 수를 의미한다.즉 3에 대한 N의 보수는 N-3인 것 이다. ex)N=10일 때 3에 대한 10의 보수는 10-3이므로 3에 대한 10의 보수는 7 이 된다. 그렇다면 2의 보수는 마찬가지로 더해서 2, 즉 10(일 영)이 되는 수이다. 맨 왼쪽 한 비트가 1로 증가하고 나머지는 0 이 된다.

ex) 숫자 5를 8비트로 표현한 표이다.

  1. 먼저 1의 보수를 구한다.

    1. 어떤 수 A가 있을 때 이 수와 더해서 1 이 되는 수를 A에 대한 1의 보수라고 한다.

      00000101 → 11111010

  2. 제일 낮은 자리에 1 더하기

    1. 11111010 + 00000001 = 11111011(-5)