부동소수점 예제

  • 0

부동소수점 예제

Category : Senza categoria

동일한 지수를 가진 두 개의 연속적인 부동 점 번호 사이의 산산차차이를 마지막 장소(ULP)의 단위라고 합니다. 예를 들어, 표현 가능한 숫자 1.45a70c22hex와 1.45a70c24hex 사이에 있는 표현 가능한 숫자가 없는 경우 ULP는 2×16−8 또는 2−31입니다. 기본-2 지수 부분이 0인 숫자, 즉 절대 값이 1보다 높거나 2보다 낮지만 2보다 낮은 숫자의 경우, ULP는 정확히 2-23 또는 단일 정밀도에서 약 10-7이고, 정확히 2-53 또는 이중 정밀도에서 약 10-16입니다. IEEE 준수 하드웨어의 의무적인 동작은 결과가 ULP의 절반 이내라는 것입니다. 예를 들어, 0.1과 0.01(바이너리)의 비표현가능성은 0.1을 시도한 결과가 0.01도 아니고 가장 가까운 나타낼 수 있는 숫자도 아닙니다. 24비트(단일 정밀도) 표현에서 0.1(소수점)은 이전에 e =-4로 지정되었습니다. s = 1100110101010010101001001010101010101, 이는 부동 소수점 산술 연산의 작은 오류는 수학적 알고리즘이 작업을 엄청난 횟수로 수행할 때 증가할 수 있습니다. 몇 가지 예로 행렬 반전, 고유 벡터 계산 및 미분 방정식 해석이 있습니다. 이러한 알고리즘은 잘 작동하려면 반복 구체화와 같은 수치 적 접근 방식을 사용하여 매우 신중하게 설계되어야 합니다. [37] 부가 끝의 낮은 3자리 숫자가 효과적으로 손실됩니다. 예를 들어 숫자가 3과 거의 같을 수 있는 숫자를 추가해야 한다고 가정해 보겠습니다. 1000개가 추가된 후 실행 합계는 약 3000입니다.

손실된 숫자는 회수되지 않습니다. Kahan 합계 알고리즘은 오류를 줄이기 위해 사용될 수 있습니다. [28] 오버플로 및 잘못된 예외는 일반적으로 무시할 수 없지만 반드시 오류를 나타낼 필요는 없습니다: 예를 들어, 루트 찾기 루틴은 정상적인 작업의 일부로 도메인 외부의 값에서 전달된 함수를 평가하여 NaN 및 유효한 시작점을 찾을 때까지 무시해야 합니다. [21] Zuse는 또한 제안했지만, 완료되지 않았다, 조심스럽게 반올림 부동 점 산술 포함 ± { {디스플레이 스타일 pm infty } 및 NaN 표현, 4 십년간IEE 표준의 기능을 예상. [9] 대조적으로, 폰 노이만은 고정점 산술이 바람직하다고 주장하면서 1951년 IAS 기계의 부동 점 번호에 대해 권장했습니다. [9] 부동점이라는 용어는 숫자의 배명점(십진점, 또는 컴퓨터에서 더 일반적으로 이진점)이 “부동”할 수 있다는 사실을 말합니다. 즉, 숫자의 중요한 숫자를 기준으로 아무 곳에나 배치할 수 있습니다. 이 위치는 지수 구성 요소로 표시되므로 부동 점 표현은 일종의 과학적 표기법의 일종으로 생각할 수 있습니다. 부동 점 값의 벡터의 합계는 과학 컴퓨팅의 기본 알고리즘이므로 유의성 손실이 발생할 수있는 시기에 대한 인식이 필수적입니다. 예를 들어 숫자가 매우 많은 경우 개별 추가는 합계에 비해 매우 작습니다. 이것은 중요성의 손실로 이끌어 낼 수 있습니다. 전형적인 추가는 다음 대량 생산 IBM 같은 것 704 다음에 1954; 그것은 편향 된 지수의 사용을 도입했다.

그 후 수십 년 동안 부동 지점 하드웨어는 일반적으로 선택적 기능이었고, “과학 컴퓨터”라고 말한 컴퓨터 또는 “과학 계산”(SC) 기능(XSC)을 참조하십시오. 1989년 인텔 i486이 출시되기 전까지는 범용 개인용 컴퓨터가 표준 기능으로 하드웨어에 부동 지점 기능을 사용했습니다. 이는 부동 소수점 시스템의 정규화된 범위 내에서 0이 아닌 실제 숫자 x를 나타내는 상대 적 오차를 바인딩하기 때문에 중요합니다. 크기: 예를 들어 은하 사이의 거리 또는 원자 핵의 직경은 동일한 길이 단위로 표현할 수 있습니다.