수의 표기법
- 명수법과 기수법
진법
- 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
'수학 > 수학, 수치해석' 카테고리의 다른 글
수치해석 및 실습 - 6 분할 차분표와 보간표 (0) | 2020.06.07 |
---|---|
수치해석 및 실습 - 5 보간다항식 (0) | 2020.06.06 |
수치해석 및 실습 - 3 매트랩과 2차원 그래프 (0) | 2020.06.06 |
수치해석 및 실습 - 2 매트랩과 배열 (0) | 2020.06.06 |
수치해석 및 실습 - 1 수치 해석과 MATLAB (0) | 2020.06.06 |