- 締切済み
2進数演算について
1. 6をBinary Codeal Decimalで表してください。 2. 51.16を2進数で表して、次に 1)IBM方式 2)IEEE方式 の、二つの方式で浮動小数点表示で表してください。 3. 51.16-61.15を2進数で表して、2's comp(2の補数表示)で演習してください。 4.-(20+ 6)×( 5+ 6) を、2進数表示で表して、Bocth's Algorithm で計算してください. 減算は2's comp部分積を右シフト。 5. (210+6)÷(15+6) 引き出し法で計算してください. 減算は2's comp部分剰余の左シフト。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- nta
- ベストアンサー率78% (1525/1942)
たくさんありますね。レポートの課題ですか。 (1)4桁で表せば 0110 (2)それで浮動小数点数の桁数はいくらなんでしょうか。51.16を完全に2進数で表現することはできません。とりあえず整数部16桁小数部16桁で打ち切るとすると 0000000000110011.0010100011110101 あとは延々と続きます。 32ビットとして示しておきますから、64ビットの場合は自分でやってください。 IBMフォーマットでは 51.16=0.19984375×(16^2) ですから、仮数部の2進数は 00110011001010001111010111 指数部は1000010 (E=66) よって 0 1000010 00110011001010001111010111 IEEEフォーマットでは 51.16=1.59875×2^5 ですから、0.59875を2進数に変換して、 10011001010001111010111 指数部は 10000100 (E=132) よって 0 10000100 10011001010001111010111 (3)この演算では演算桁が10ビットは必要である。 -(0000010100+0000000110)×(0000000101+0000000110) =-(0000011010)×(0000001011) =(1111100110)×(0000001011) Boothの乗算法については以下のリンクでやってみてください。 http://www.ecs.umass.edu/ece/koren/arith/simulator/Booth/ (5) 引きっぱなし法はここで計算できます。 http://www.ecs.umass.edu/ece/koren/arith/simulator/NRDiv/ 一つぐらいはご自分でお考えください。 疲れました。