코딩 노트

04-2 정수와 실수의 표현방식 본문

C

04-2 정수와 실수의 표현방식

newbyeol 2021. 2. 19. 04:29

1. 정수

정수의 양의 값

C언어는 보통 하나의 정수를 4바이트(32비트)로 표현함.

정수의 가장 왼쪽에 존재하는 비트는 '부호비트', 양수라면 0, 음수라면 1을 저장하여 부호를 표시함

밑 그림의 경우, 나머지 일곱 비트가 0000001이므로 크기는 1이고 MSB가 0이므로 값은 +1임.

정수의 음의 값

음의 정수를 표현할 때에는 2의 보수를 취해야 함.

 

2의 보수법

1. 각각 비트 별로 1의 보수를 취하기(1은 0으로. 0은 1로 체인지)

2. 그리고 나서 1을 더하기

3. 그렇게 해서 얻게 된 값 11111011이 바로 -5 짜잔

2. 실수

컴퓨터는 이러한 형식의 식을 미리 정의 해 놓고, 메모리에 할당된 데이터의 일부 비트는 m의 값을 정하는데,

또 일부 비트는 e의 값을 정하는데 사용하는 방식으로 실수를 표현함.

계산법

넓은 범위의 실수를 표현할 수 있지만, 실수의 표현에 오차가 존재함.

실수의 표현을 위해 정의된 수식 형식의 식으로는 모든 실수를 정확히 표현 할 수 없기 때문.

0.0은 소수점 이상이 0이고 소수점 이하가 0인 실수인데 이 것을 식의 m과 e에 적절한 값을 대입해서

0.0을 만들 수 있는가? 불가능함. 2의 n승은 절대로 0이 될 수 없기 때문.

 

이렇듯 컴퓨터는 우리가 표현하고자 하는 실수의 값을 정확하게 표현하는 것이 아닌 아주 가까운, 문제가 없을 만큼의

근사치를 통해서 실수를 표현하게 됨. 따라서 실수를 표현하는데 있어서 오차가 존재하는 것은 당연한 일이며, 이러한 오차를 가리켜 '부동 소수점 오차'라고 함.