728x90

수의 표기법

- 명수법과 기수법

 

진법

- 2진법, 8진법, 10진법, 16진법

 

수의 표기법

- 명수법 : 하나, 둘, 셋 처럼 수를 말로 나타내는것

- 기수법 : 1, 2, 3 과같이 수를 기호로 나타내는것 -> 10진법, 2진법, 5진법, 12진법 등 존재

 

 

소수점 표시법에 따라 오차가 발생하는 이유

- 컴퓨터에서는 모든 소수를 정규형태로 변환시켜 처리하기 때문. 무한한 소수의 뒷자리를 없앰

 

 

컴퓨터 기억장치나 연산장치는 양(+), 음(-)만을 구별할수있는 비트들로 구성

- >컴퓨터는 2진법 사용

 

컴퓨터에서 수를 표현할 때

- 정수 : 고정 소수점 표시법

- 실수 : 부동 소수점 표시법

 

고정 소수점 표시법

- 소수점을 항상 일정한 위치에 놓는 표시법

- 소수점 위치를 그 수 제일 오른쪽에 있다고 가정하여 정수 계선에서만 사용

 

부동 소수점 표시법

- 소수점 위치를 일정하게 하지 않고 따로 지시해주는 표시법

- 실수 계산에서 주로 이방법 사용

- 32비트를 한단어로 사용하는 경우 -> 0비트는 부호, 1~7비트는 지수, 8 ~31비트는 가수를 나타냄

 

 

정규형태

- 컴퓨터에서 실수를 기억시킬때는 가수부의 제일 높은 자리에 0 이외의 유효숫자가 올때까지 지수값을 변환시켜 기억함

- 이렇게 표시된 수를 정규형태라함.

- 컴퓨터는 모든 숫자를 반드시 정규형태로 처리

- 단정도 표현 : 32비트를 한단어로 사용 -> 가수부 7자리 정도의 10진수를 기억

- 배정도 표현 : 64비트를 한 단어로 사용 -> 가수부에 16자리 정도 10진수를 기억시킴

 

전환 오차

- 컴퓨터에 입력하거나 출력하는 과정에서 생기는 오차

 

 

컴퓨터 프로그래밍 하는 경우 

- 실수를 입력한 다음 그 결과를 출력할 때 값이 변하는 경우가 존재

ex) (단정도 표현) 0.23456789 -> 0.23456790

=> 단정도 표현과 배정도 표현 모두에서 오차 발생 가능

- 일반적으로 배정도 표현에서 오차가 더 적음

 

 

 

(387.620000)_10 가 컴퓨터에 입력되고 출력되는 과정

- 컴퓨터는 387.62를 16 진수로 바꿈

 -> (387.620000)_10

  = (183.9EB851EB851)_16

- 정규 형태로 표시하면

    (0.1839EB851EB851...)x16^3

* 컴퓨터가 16진법 컴퓨터라 가정하면 6자리 미만은 버리게 됨

 -> (0.1839EB) x 16^3

 -> 입력되는 수 387.62는 183.9EB_16로 저장

* 출력하게 되면 10진수로 다시 고쳐서 내보냄

 - 183.9EB_16 = 387.6198730_10

-> 이 과정에서 오차 387.60000 - 387.61987 = 0.00013이 발생

-> 이때 상대 오차는 0.00013/387.61987 = 3.35 x 10^-7

 

 

 

버림과 반올림 과정에서 발생하는 오차는 왜 발생하는가

- 컴퓨터가 저장된 소수를 버림이나 반올림하기 위해 읽어올 때 소숫자리 보다 작은 가수를 취하여 읽는 경우

- 버려지는 값이 발생할수 있으므로 버림과 반올림에 의해 오차가 발생

 

 

버림과 반올림 과정에서 생기는 오차

23.4673

- 소수 3째 자리서 반올림 23.47

- 2째 자리 미만 버림 23.46

- 정규형태로 표현하면 0.234673 X 10^2

 

10진법 계산기가 4자리 가수부분만 취한다고 가정하는 경우 0.2346만 취하게 됨.

0.234673 x 10^2 = (0.2346 + 0.000073) x 10^2

                            = (0.2346 + [0.73 x 10^-4]) x 10^2

 

 

 

 

 

 

 

 

 

 

 

 

300x250

+ Recent posts