2017-01-04 8 views
0

다음은이 예입니다 (미리 10 진수로 변환했습니다). 십진수되어야 6.25-
A는
B는단 정밀도 부동 소수점 빼기는 어떻게 수행됩니까?

제 ((+ B) (+ A)) (소수 2.25)^2 01000000000100000000000000000000 (십진수 8.5) 01000001000010000000000000000000^2이다. A와 B 및 일치하는 지수를 표준화합니다.

A = 1.00010 * 2^3
B = 0.01001 * 2^I는 다음과 같이 종이에 뺄 수 3

.

1.00010 * 2^3
- 0.01001 * 2^3
'---------------
0.11001 * 2^3이다 110.01

^2이고 십진수는 6.25입니다.

내 문제는 어떻게 CPU가이 문제를 해결합니까? 나는 CPU가 B를 2의 보수로 변환하고 음수의 B를 덧붙인다는 것을 알고있다. 그러나 나는 그것을 시도 할 때마다 6.75의 답을 얻었다. 누군가가 나를 보여줄 수있는 방법은 CPU가 B를 두 개의 보수로 변환하여 음수를 얻은 다음 A에 더하여 6.25를 답으로 얻는 것입니다. 감사합니다.

+0

https://en.wikipedia.org/wiki/Floating_point#Addition_and_subtraction –

+0

안녕하세요 댄, 내가 어떻게 thr cpu가 B를 2로 변환하고 A에 음수 B를 추가하는지 단계별로보고 싶습니다. 단계별로 seeng 나는 어려움을 겪고있는 많은 것들을 이해하는 데 도움이 될 것입니다. 고마워 – Sanone

+0

참조 http://stackoverflow.com/help/on-topic –

답변

0

나는 직접 답변을 찾았습니다. Twos 보완 작업도 여기에 있습니다. 두 개의 보수 (플립 비트 및 1 비트 추가)를 사용하여 B를 음수 값으로 변환 한 다음 A에 음수를 추가합니다. 그러나 지수가있는 소수 부분을 먼저 계산해야합니다. 감사합니다