자료구조 Data Structure

[자료구조] 자료의 표현

코딩하는곰곰 2022. 2. 4. 22:03

컴퓨터에서의 데이터 표현

컴퓨터에서는 데이터를 0과 1로 이루어진 이진수 코드로 다룬다. 우리가 보고 듣는 그림, 동영상, 음악 등의 다양한 데이터가 0과 1로 이루어진 셈이다.

 

0 또는 1로 이루어진 한자리를 데이터를 이루는 최소 단위인 비트(bit)라고 한다. 이 비트가 4개를 모은 그룹을 니블(nibble), 8개를 모은 그룹을 바이트(Byte)라고한다. 비트는 한개당 0과 1의 2개의 상태를 표현할 수 있고 니블은 2*2*2*2* = 2^4개의 상태를 바이트는 2*2*2*2*2*2*2*2 = 2^8개의 상태를 표현할 수 있다. 즉 n개의 비트로는 2^n개의 상태를 표현할 수 있다는 것이다.

 

비트 니블 바이트

 


 

2진수의 정수 표현

2진수는 일정한 길이의 n비트를 이용해 가장 첫 번째 비트인 최상위 비트를 이용해 음수인지 양수인지 부호를 나타내고 나머지 비트로는 2진수의 값을 표현한다.

 

2진수를 비트로 표현하는 방법에는 아래의 3가지 방법이 있다.

 

부호절대값 형식의 표현

가장 첫 번째 비트인 최상위 비트: 음수인 경우에는 1, 양수인 경우에는 0

나머지 비트: 2진수 값을 표현

부호절대값 형식의 표현

1의 보수 형식의 표현

양수의 표현 방법은 부호절대값 형식과 같지만 음수의 표현 방식은 다르다.

1의 보수 형식에서 음수는 전체비트를 1로 한 값에서 음수의 절대값을 빼서 표현할 수 있다.

1의 보수 형식의 표현

 

2의 보수 형식의 표현

2의 보수 형식에서도 양수의 표현 방법은 부호절대값 형식과 같지만

음수를 표현하기 위해서는 전체 비트를 1로 한 값에서 음수의 절대값을 뺴고 1을 더해줘야한다.

즉 1의 보수의 형식에서의 음수에 1을 더해주면 2의 보수 형식에서의 음수값이 된다.

2의 보수 형식의 표현

 


 

2진수의 실수 표현

2진수로는 정수만 표현할 거라 생각할 수도 있지만 그렇지 않다. 우리가 컴퓨터에서 다루는 모든 데이터는 2진수인 비트로 이루어져있으므로 당연히 실수 또한 2진수로 표현할 수 있다. 

비트로 2진수 실수를 표현하는 방법에는 아래의 2가지 방법이 있다.

 

고정소수점 형식의 표현

가장 첫 번째 비트인 최상위 비트의 왼쪽에 소수점이 고정되어있는 표현 형식이다. 예를 들어 고정소수점 방식의 00101011이 있다면 이 값은 0.00101011의 값을 가진다.

 

부동소수점 형식의 표현

가장 첫 번째 비트인 최상위 비트는 음수이면 1 양수이면 0의 값을 가져 부호를 나타내고

나머지 비트는 지수와 소수를 나타낸다.