2017-01-04 10 views
0

ここに例があります(あらかじめ10進数に変換してあります)。小数であるべきである6.25から
Aは
Bは単精度浮動小数点数の減算はどのように行われますか?

((+ B)(+ A))(小数2.25で)01000000000100000000000000000000^2(小数8.5)01000001000010000000000000000000^2です。 AとBを正規化し、指数を一致させます。

A = 1.00010 * 2^3
B = 0.01001 * 2 ^次のように、私は紙の上にこれを引くことができ3

1.00010 * 2^3
- 110.01である0.01001 * 2^3
「---------------
0.11001 * 2^3

^2、小数点以下は6.25です。

私の問題は、CPUがこれをどのように動作させるかです。私は、CPUがBを2の補数に変換し、負のBを加えることを知っている。しかし、私はそれを試みるたびに、6.75の答えを得た。誰かが私にどのようにCPUがBを2の補数に変換して負の数を得たのかをAに加えて答えとして6.25を得ることができますか? ありがとう

+0

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

+0

こんにちはダン、私はthr cpuがBを2の補数に変換し、Aに負のBを追加する方法をステップバイステップで見たいと思います。私は困難を抱えている多くのことを理解するのに役立ちます。ありがとう – Sanone

+0

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

答えて

0

私は自分自身で答えを見つけました。ここではTwos補完も働きます。 2の補数(フリップビットと1ビット加算)を使用してBを負の値に変換し、Aに負を追加します。ただし、指数付き小数部分を最初に計算する必要があります。ありがとう

関連する問題