내용

글번호 1205
작성자 허진경 (나자바바)
작성일 2023-04-04 16:30:41
제목 부동 소수점 덧셈과 뺄셈 연산
내용 실수의 뺄셈 연산은 어떻게 처리될까요? 예를 들어 3.5-4.25를 계산해 보겠습니다. 이 연산의 결과는 -0.75입니다. 먼저 2.5와 4.25를 부동소수점 표현 방법으로 4바이트 크기 2진수로 표현하면 3.5(10) -> 11.1(2) -> 1.11*2^1(정규화 후)가 되고 4.25(10) -> 100.01(2) -> 1.0001*2^2(정규화 후)가 됩니다. 부동 소수점의 덧셈 또는 뺄셈 연산을 하려면 더 큰 지수를 갖는 숫자에 맞추어 작은수의 지수를 수정해야 합니다. 여기서 주의해야 할 점은 두 수 모두 정수부는 0이 되도록 정규화 해야 합니다. 그래서 3.5(10)은 0.01110 * 2^3, 4.25(10)은 0.11111 * 2^3으로 정규화 할 수 있습니다. 만일 3.5 + 4.25라면 가수부의 덧셈을 수행해서 0.11111 * 2*3 = 111.11(2) = 7.75(10)가 됩니다. 0.01110 * 2^3 0.10001 * 2^3 + ------------------ 0.11111 * 2^3 그런데 만일 3.5-4.25를 계산하려면 -4.25를 보수를 만든 후 더해야 합니다. 즉 3.5 + (-4.25)가 되게 해야 한다는 의미입니다. 0.10001 * 2^3에서 가수부를 2의 보수로 만들면 0.01111이 되고 이를 이용해서 3.5의 가수부와 덧셈을 합니다. 0.01110 * 2^3 0.01111 * 2^3 + ----------------- 0.11101 * 2^3 그런데 이 수는 음수여야 하므로 가수부 0.11101를 2의 보수로 만듭니다. 그러면 이 수는 0.00011이 되고 그러면 계산 결과는 0.00011 * 2^3이 됩니다. 이것은 0.11에 해당하고 이 숫자는 0.75입니다. 음수이므로 앞에 -를 붙여 -0.75를 출력합니다.
첨부파일 부동소수점 연산방법.txt (1,608byte)