컴퓨터:integer_and_floating_point
차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판다음 판 | 이전 판 | ||
| 컴퓨터:integer_and_floating_point [2024/02/27] – [정수와 부동소수] 정승환 | 컴퓨터:integer_and_floating_point [2026/06/06] (현재) – 정승환 | ||
|---|---|---|---|
| 줄 22: | 줄 22: | ||
| 배정밀도(double precision)는 정수와 부동소수점을 모두 다루는 방법 중 하나입니다. | 배정밀도(double precision)는 정수와 부동소수점을 모두 다루는 방법 중 하나입니다. | ||
| - | 1. **정수형에서의 배정밀도**: | + | - **정수형에서의 배정밀도**: |
| - | + | | |
| - | 2. **부동소수점에서의 배정밀도**: | + | |
| 정수와 부동소수점에서의 배정밀도는 각각 데이터 형식에 따라 다르지만, | 정수와 부동소수점에서의 배정밀도는 각각 데이터 형식에 따라 다르지만, | ||
| 줄 30: | 줄 29: | ||
| =====각 데이터 형식의 표현 범위===== | =====각 데이터 형식의 표현 범위===== | ||
| - | 정수형 | + | **정수형 표현 범위** |
| - | * 16bit 정수형의 총 표현 가능 단계 = <m>2^16</m> = 65536(**5자리수**) | + | |< |
| - | | + | ^ 비트 |
| - | | + | | 16비트 |
| - | | + | | 24비트 |
| - | | + | | 32비트 |
| - | | + | | 48비트 |
| + | | 56비트 | ||
| + | | 64비트 | ||
| - | 부동소수형 숫자 표현의 | + | **부동소수점 범위 |
| - | | + | |< |
| - | * 32bit 부동소수형의 가장 큰 숫자 = <m>(2 - 2^{-23}) * 2^{127}</m> = 3.4028235e+38 = (**38자리수**) | + | ^ 설명 |
| + | | 최소 양수 정규화값 | 1.0 × 2<sup>-126</sup> | 1.1754944 × 10< | ||
| + | | 최대 양수값 | (2 - 2<sup>-23</ | ||
| =====부동소수점 연산의 정밀성 손실===== | =====부동소수점 연산의 정밀성 손실===== | ||
| 줄 47: | 줄 50: | ||
| 예를 들어, 우리가 다음과 같은 두 개의 부동소수를 더한다고 가정해봅시다: | 예를 들어, 우리가 다음과 같은 두 개의 부동소수를 더한다고 가정해봅시다: | ||
| - | * <m>0.1 * 10^{-20}</m> | + | * 0.1 x 10<sup>-20</sup> |
| - | * <m>0.2 * 10^{-20}</m> | + | * 0.2 x 10<sup>-20</sup> |
| - | 이 두 부동소수를 더하면 우리는 | + | 이 두 부동소수를 더하면 우리는 0.3 x 10<sup>-20</sup>이 나와야 한다고 예상할 수 있습니다. 그러나 컴퓨터에서는 부동소수점을 표현할 때 소수점 이하의 정밀도에 한계가 있기 때문에 정확한 결과를 얻기 어렵습니다. |
| 실제로 컴퓨터에서 이러한 덧셈을 수행하면 다음과 같은 결과가 나올 수 있습니다: | 실제로 컴퓨터에서 이러한 덧셈을 수행하면 다음과 같은 결과가 나올 수 있습니다: | ||
| - | * <m>0.1 * 10^{-20}</m>를 표현할 때 발생하는 정밀성 손실로 인해 실제로는 | + | * 0.1 x 10<sup>-20</sup>를 표현할 때 발생하는 정밀성 손실로 인해 실제로는 0.10000000000000000000005 |
| - | * <m>0.2 * 10^{-20}</m>도 마찬가지로 정밀성 손실로 인해 | + | * 0.2 x 10<sup>-20</sup>도 마찬가지로 정밀성 손실로 인해 0.20000000000000000000004 |
| - | 따라서 이 두 수를 더하면 | + | 따라서 이 두 수를 더하면 0.30000000000000000000009 |
| 이러한 예시를 통해, 부동소수 연산에서의 정밀성 손실이 어떻게 발생하는지 좀 더 구체적으로 이해할 수 있습니다. | 이러한 예시를 통해, 부동소수 연산에서의 정밀성 손실이 어떻게 발생하는지 좀 더 구체적으로 이해할 수 있습니다. | ||
| - | 이러한 오차는 금융 분야에서의 시간, 금액 계산이나, | + | 이러한 오차는 금융 분야에서의 시간, 금액 계산이나, |
[공지]회원 가입 방법
[공지]글 작성 및 수정 방법
컴퓨터/integer_and_floating_point.1709029362.txt.gz · 마지막으로 수정됨: 저자 정승환
