• 締切済み

電卓における「乗算器の回路」と「2進法・10進法間の変換」

電卓のしくみを調べています。 以下のことはわかりました。 A.計算には2進法を利用している(引き算には2の補数を利用している) B.全加算器、乗算器などをAND回路、OR回路などをつかって実現している そこで2点知りたいことがでてきました。 1.乗算器の計算のしくみは、 http://www-lab.ee.uec.ac.jp/text/arithmetic/serial.html をみてなんとなくわかったのですが、AND回路、OR回路などをつかった具体的な回路がいまいちイメージできません。 乗算器の回路を図で表し、詳しく解説したサイトがあれば教えてください。 2.電卓では入力と出力が10進法ですが、具体的な計算は2進法でやっているということはわかりました。しかし、入力した10進法を2進法に直す回路や、計算結果の2進法を10進法として出力する回路がわかりません。 その回路を図で表し、詳しく説明したサイトがあれば教えてください。 もしそういったサイトがない場合は、これらを解説した書籍を紹介していただければありがたいです。 よろしくお願いします。

みんなの回答

  • keyguy
  • ベストアンサー率28% (135/469)
回答No.3

2→10 10→2 は文章で説明できないこともないのですが 回路を示したほうが100倍簡単に示すことができます。 図形で説明できないのが残念です。 2→10 10→2 はともに全/半加算器とゲートで組むことになります。 2→10 は4bitづつ区切って下位から6を足した結果により・・・ 10→2 は4bitづつ区切って下位から・・・ です。 ・・・は略部。 この程度の回路はその都度考え組むことになります。 桁上がりの高速化手法は通常の加算器のやり方を使います。 論理回路の基本ですから自分で組んで見ましょう。 (調べるよりも簡単ですよ。)

keeps
質問者

お礼

ご回答ありがとうございます。

  • LCR707
  • ベストアンサー率70% (95/135)
回答No.2

 2bit×2bit+5bit 型の乗算器として、Motorola の標準CMOS IC MC14554B があります。CQ出版社のMOTOROLA CMOSデータブックに内部回路が載っています。  乗算bit数を増やすには、このICを碁盤目状に並べる必要があります。  今はワンチップマイコンの中にさえ、8×8や16×16の乗算器が内蔵される時代ですから、今このICを使う人はいないでしょうね。

keeps
質問者

お礼

ご回答ありがとうございます。

  • keyguy
  • ベストアンサー率28% (135/469)
回答No.1

乗算器はand演算で作った1ビットの部分積からなる数値をずらして加算しているだけです。 だから全加算器を平行四辺形状に並べればできるでしょう。 (端のほうは2入力になるので半加算器に置き換えてもいいでしょうが) キャリの配線を斜めに配線するようにして少し高速化するようにします。 正負を扱うときには簡単な補正ですが2の補数補正の工夫もしなければなりません。(形としてはほとんど同じ平行四辺形状になる。勿論LSI内の乗算器の形状は長方形です。) ブースのアルゴリズムだと2ビットづつ計算して答えをセレクトするようになっているけれどもLSIの配線ルールが細かくなり高速になったので配線が複雑になるので余り使われてないのでは? 昔は「ブース+ワリスのトリー」などで作っていたメーカもありました。

keeps
質問者

お礼

ご回答ありがとうございます。