まず、仮数エンコーディングを取得し、その前に「1.」を付けて、符号ビットによって決定された符号を付けて結果を書き込みます。したがって、例の数値については、次のようになります。
+1.010001
-1.010000
ただし、これらは指数が異なるため、スケールが異なります。2 番目の指数は、最初の指数よりも 4 小さい (110 2に対して010 2 )。したがって、4 ビット右にシフトします。
+1.010001
- .0001010000
これで、両方の仮数が同じスケール (指数 110 2 ) になったので、2 進数で通常の算術演算を実行できます。
+1.010001
- .0001010000
_____________
+1.0011000000
次に、仮数を使用可能なビット (7) に丸めます。この場合、末尾のビットはゼロであるため、丸めによって何も変更されません。
+1.001100
この時点で、有効桁数が 2 (10 2 )より大きいか、1 未満の場合は、さらにシフトが必要な仮桁を持つことができます。しかし、この有効仮桁は、1 と 2 の間の必要な場所です。指数そのまま (110 2 )。
符号をビットに戻し、先頭の「1」を取ります。仮数をオフにして、ビットをまとめます。
0 110 001100
数値が通常の指数範囲をオーバーフローまたはアンダーフローすると例外が発生しますが、ここでは発生しませんでした。