【先着1,000名様!】1,000円分をプレゼント!

半加算器と全加算器の違いが分かりません。

桁上げを扱わない加算器を半加算器という、とあるのですが、桁上げというのは繰り上げのことですよね?
でも真理値表を見るとちゃんとAとBが両方1の時はCが1になっていて、これは繰り上げを考慮している、となるような気がするのですが…?

よろしくお願いします。

A 回答 (5件)

#3です。


補足質問の解答

> 平たく言えば、半加算器は入力が2ビットの計算が出来て、全加算器は3ビットの計算が出来る。
> ということの違い、と言えるのでしょうか…?
入力信号の意味を無視してもよければその通りです。

参考URLに半加算器と全加算器の論理回路図と真理値表が掲載されていますのでご覧下さい。
同URLには
複数ビットの加算器を
半加算器と全加算器で構成した回路図も載っています。

被加数ビット入力A、加数ビット入力B、上位桁への桁上げビット出力C、
下位桁からの桁上げビット入力X、和Sの接続関係をよくご覧になって、理解するようにして下さい。

参考URL:http://ja.wikipedia.org/wiki/%E5%8A%A0%E7%AE%97% …
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
まず回路図を頭に入れたら、信号の意味を覚えようとおもいます。

お礼日時:2008/07/20 23:38

はい, そんなところです.


半加算器は 2ビットの加算を行い, 全加算器は 3ビットの加算を行います.
回路としては
全加算器 = 2*半加算器+ OR
です.
    • good
    • 1

>桁上げを扱わない加算器を半加算器という、とあるのですが、桁上げというのは繰り上げのことですよね?



上位桁への桁上げ(繰上げ、出力です)は、半加算器にも、全加算器にもあります。
半加算器と全加算器との違いは、下位桁から繰り上がってくる桁上げの有無です。半加算器には、下位桁からの桁上げ(入力)がありません。全加算器には下位桁からの桁上げ(入力)があります。

半加算器の入力を(A,B)、出力を(Y,C)とすると
全加算器は入力が(A,B,Co)、出力が(Y,C)となります。

具体的な加算器の使い方
2進数の加算回路で
00101
00011(+
-------
01000 …和
01110 …桁上げ
において、最下位桁では2進1桁の半加算器
それ以外の上位桁では2進1桁の全加算器
を使いことで2進多桁の加算が可能になります。
    • good
    • 0
この回答へのお礼

皆さん回答ありがとうございます。
すみません、これだけ説明していただいても何かすっきりしないところがあるということは、何か見落としがあるのかもしれないです…。

平たく言えば、半加算器は入力が2ビットの計算が出来て、全加算器は3ビットの計算が出来る。
ということの違い、と言えるのでしょうか…?

お礼日時:2008/07/20 01:22

No.1さんの回答の通りですが若干補足。


2進数n桁の加算器を作るとき1番下の桁のみが半加算器でよく残りは全部全加算器です。
一番下だけは桁が上がってこないからです。
全加算器は完全加算器・・上向き、下からの桁上げを考慮
半加算器は半人前の加算器・・上向きの桁上げだけ考慮。

なお、全加算器は半加算器に若干の部品(回路)を追加して作ります。
    • good
    • 1

http://ja.wikipedia.org/wiki/%E5%8A%A0%E7%AE%97% …

桁上げ入力があるかどうかの違いです。
全加算器は桁上げ入力があるので、
実質3ビットの足し算です。(参考HPの、A,B,X)

半加算器は2ビット(A,B)の足し算のみです。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q全加算器と半加算器の違い

半加算器と全加算器の違いがいまいちわかりません。

半加算器は2進数の一桁目の和算で、全加算器は2進数の二桁目以降の和算で前の桁から繰り上がりを考慮した和算という解釈でいいのでしょうか?

ほかの質問を見たのですがいまいちわかりませんでした。
間違っていたら、入力されるもののことや出力されるもののことについても含めて、詳しく教えていただけるかURLを載せていただいて欲しいです。

Aベストアンサー

詳しくは参考URLをご覧ください。

半加算器
二進一桁の加算器で
入力として、それぞれ二進一桁のAとBの2つがあり、
出力として、二進一桁の和のSと上位への桁の繰り上げ(桁上げ)Cの2つがあります。
二進の加算器の一桁目に使われます。

全加算器
二進一桁の加算器で
入力として、それぞれ二進一桁のAとBと下位桁からの桁の繰り上げ(桁上げ)の3つがあり、
出力として、下位桁からの桁上げCoと2つの二進一桁AとBとの3つの二進一桁の和Sと上位への桁の繰り上げ(桁上げ)Cの2つがあります。
二進の加算器の二桁目以上の桁上げを含む一桁加算器として使われます。

参考URL:http://www.akita-nct.ac.jp/yamamoto/lecture/2003/2E/add_circuit/node3.html

Qブール代数の吸収法則について教えてください

-  -
A + A・B に吸収法則を使うと

-  -
A+Bになるそうですが、なぜそうなるのかが理解できません。教えてください。


調べてみたのですが、私の頭では、
A+A・B=A
となることが吸収法則であるとしか理解できませんでした。

Aベストアンサー

紛らわしいのでNを付けます。
NA+NA・B=NA(1+B)=NA です。

NA+A・NB であればちょっと回りくどいですが
=NA(B+NB)+A・NB
=NA・B+NA・NB+A・NB
=NA・B+(NA・NB+NA・NB)+A・NB
=(NA・B+NA・NB)+(NA・NB+A・NB)
=NA(B+NB)+NB(NA+A)
=NA+NB

Q計算値と理論値の誤差について

交流回路の実験をする前に、ある回路のインピーダンスZ(理論値)を計算で求めたあと、実験をしたあとの測定値を利用して、同じ所のインピーダンスZ(計算値)を求めると理論値と計算値の間で誤差が生じました。
そこでふと思ったのですが、なぜ理論値と計算値の間で誤差が生じるのでしょうか?また、その誤差を無くすことはできるのでしょうか? できるのなら、その方法を教えてください。
あと、その誤差が原因で何か困る事はあるのでしょうか?
教えてください。

Aベストアンサー

LCRのカタログ値に内部損失や許容誤差がありますが、この誤差は
1.Rの抵抗値は±5%、±10%、±20% があり、高精度は±1%、±2%もあります。
2.Cの容量誤差は±20% 、+50%・ー20% などがあり
3.Lもインダクタンス誤差は±20%で、
3.C・Rは理想的なC・Rでは無く、CにL分、Lに抵抗分の損失に繋がる成分があります。
これらの損失に繋がる成分は、試験周波数が高くなると、周波数依存で増大します。
また、周囲温度やLCRの素子自身で発生する自己発熱で特性が変化します。
測定器や測定系にも誤差が発生する要因もあります。
理論値に対する測定値が±5%程度発生するのは常で、実際に問題にならないように、
LCRの配分を工夫すると誤差やバラツキを少なく出来ます。
 

Q論理回路R-Sフリップフロップ

R-Sフリップフロップは論理の入力でR=1、S=1は禁止入力とされていますが、実際には入力可能です、これってどういうことなんですか?どなたか教えてください。

Aベストアンサー

私も以前から (1, 1) を「禁止入力」と呼ぶのには疑問を感じていました。

(1, 1) を入力しても単に出力が (1, 1) (回路構成によっては (0, 0) ) になるだけでなんの矛盾もありません。

入力を (1, 1) -> (1, 0) -> (0, 0)

(1, 1) -> (1, 0) -> (0, 0)

と変化させた場合も常識どおりに動作します。

問題は入力を (1, 1) から (0, 0) ) に変化させた場合です。このとき出力が (1, 0) で安定するか (0, 1) で安定するかは不定です。

Q2ビットの全加算器

2ビットの全加算器の回路をつくりたいのですが、真理値表は以下でよいのでしょうか?根本的に考え方が間違っているかもしれないのでご指摘お願いいたします。


半加算器         全加算器
A1 B1 Ci S1   A2 B2 Ci2 S2 Co
0  0  0  0     0  0  0  0  0
0  1  0  1     0  1  0  0  1
1  0  0  1     1  0  0  0  1     
1  1  1  0     1  1  0  0  1
            0  0  1  1   0
             0  1  1  0  1
             1  0  1  0  1 
             1  1  1  1  1

2ビットの全加算器の回路をつくりたいのですが、真理値表は以下でよいのでしょうか?根本的に考え方が間違っているかもしれないのでご指摘お願いいたします。


半加算器         全加算器
A1 B1 Ci S1   A2 B2 Ci2 S2 Co
0  0  0  0     0  0  0  0  0
0  1  0  1     0  1  0  0  1
1  0  0  1     1  0  0  0  1     
1  1  1  0     1  1  0  0 ...続きを読む

Aベストアンサー

No.2です。失礼しました。
1ビットの半加算器と1ビットの全加算器を直列につなげば
2ビットの全加算器になります。

質問の全加算器の真理値表をNo.1さんのに修正して
CiをCi2に接続すれば完成です。
A2A1とB2B1が入力で出力がS2S1になります。
2桁目のキャリーがCoになります。

Qnor回路だけでand,or,nand回路を作成したいのですが

タイトルの通り、nor回路だけでand,or,nand回路を作成したいのですが、or回路はnor回路を二つ並べて作成することができたのですが、andとnandの回路を作ることができません。教えてもらえないでしょうか。

Aベストアンサー

ANDを二重否定して、ドモルガンで変形させていくと良いです。
NOT回路は、NOR回路の入力をつないで一つにしてしまえば出来ます。
ANDが出来れば、NOTをつないでNANDに。

Qカットオフ周波数とは何ですか?

ウィキペディアに以下のように書いてました。

遮断周波数(しゃだんしゅうはすう)またはカットオフ周波数(英: Cutoff frequency)とは、物理学や電気工学におけるシステム応答の限界であり、それを超えると入力されたエネルギーは減衰したり反射したりする。典型例として次のような定義がある。
電子回路の遮断周波数: その周波数を越えると(あるいは下回ると)回路の利得が通常値の 3 dB 低下する。
導波管で伝送可能な最低周波数(あるいは最大波長)。
遮断周波数は、プラズマ振動にもあり、場の量子論における繰り込みに関連した概念にも用いられる。


ですがよくわかりません。
わかりやすく言うとどういったことなのですか?

Aベストアンサー

>電子回路の遮断周波数: その周波数を越えると(あるいは下回ると)回路の利得が通常値の 3 dB 低下する。
>導波管で伝送可能な最低周波数(あるいは最大波長)。
>遮断周波数は、プラズマ振動にもあり、場の量子論における繰り込みに関連した概念にも用いられる。

簡単にいうと、一口に「カットオフ周波数」と言っても分野によって意味が違う。
電子回路屋が「カットオフ周波数」と言うときと、導波管の設計屋さんが「カットオフ周波数」と言うとき
言葉こそ同じ「カットオフ周波数」でも、意味は違うって事です。



電子回路の遮断周波数の場合
-3dB はエネルギー量にして1/2である事を意味します。
つまり、-3dBなるカットオフ周波数とは

「エネルギーの半分以上が通過するといえる」

「エネルギーの半分以上が遮断されるといえる」
の境目です。

>カットオフ周波数は影響がないと考える周波数のことでよろしいでしょうか?
いいえ
例えば高い周波数を通すフィルタがあるとして、カットオフ周波数が1000Hzの場合
1010Hzだと51%通過
1000Hzだと50%通過
990Hzだと49%通過
というようなものをイメージすると解り易いかも。

>電子回路の遮断周波数: その周波数を越えると(あるいは下回ると)回路の利得が通常値の 3 dB 低下する。
>導波管で伝送可能な最低周波数(あるいは最大波長)。
>遮断周波数は、プラズマ振動にもあり、場の量子論における繰り込みに関連した概念にも用いられる。

簡単にいうと、一口に「カットオフ周波数」と言っても分野によって意味が違う。
電子回路屋が「カットオフ周波数」と言うときと、導波管の設計屋さんが「カットオフ周波数」と言うとき
言葉こそ同じ「カットオフ周波数」でも、意味は違うって事です...続きを読む

Q半加算器に使われる論理式を教えて下さい。

半加算器に使われる論理式を教えて下さい。

Aベストアンサー

論理値表は以下の通りですので、

a b s c
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

論理式は以下の通りです。

s = a xor b
c = a and b

Qべき乗

べき乗とは一体なんですか?
ウィキを見ても理解できませんでした。
2の2乗は2×2ですが、
2のマイナス2乗は一体どのような式なのですか?

Aベストアンサー

算数の延長線上だけの概念だけだといまいち理解出来ないですよね。
べき乗って要は指数なんですけど、
そういう難しい話を出来るだけ捨てて、算数の世界で説明出来る位まで掘り下げて説明します。

例えば 10の2乗は100、10の3乗は1000となります。
これを数字の動きに目を合わせてもう一度、書いてみます。
00010.00000 ←これを2乗すると↓
00100.00000 //10という値が左に1つずれた結果が答え

00010.00000 ←これを3乗すると↓
01000.00000 //10という値が左に2つずれた結果が答え

こういう風に表す事が出来ます。
じゃあ、10のマイナス2乗ってなった場合はどうなるのかというと、
00010.00000 ←これを-2乗する↓
00000.01000 //10という値が右に3つずれた結果が答え

という答えになります。
1を基準点として、右や左にいくつずれるか。
これがべき乗なのです。


で、2のべき乗を考えた時は、
全部2進数で考える必要があります。
00010.00000 ←2進数で表した数値の2
00100.00000 ←2乗した結果。数値で言うと4
00010.01000 //-2乗した結果。数値で言うと0.25


これで何となく分かっていただけたでしょうか?
ちなみに37のx乗を計算するみたいな時があったとしたら、
それは37進数で考えるという計算が必要になるのです。

算数の延長線上だけの概念だけだといまいち理解出来ないですよね。
べき乗って要は指数なんですけど、
そういう難しい話を出来るだけ捨てて、算数の世界で説明出来る位まで掘り下げて説明します。

例えば 10の2乗は100、10の3乗は1000となります。
これを数字の動きに目を合わせてもう一度、書いてみます。
00010.00000 ←これを2乗すると↓
00100.00000 //10という値が左に1つずれた結果が答え

00010.00000 ←これを3乗すると↓
01000.00000 //10という値が左に2つずれた結果が答え

こういう風...続きを読む

Q10進数の14.5を浮動小数点(IEEE754形式)の2進数に変換するにはどうしたらよいでしょうか?

10進数の14.5を浮動小数点(IEEE754形式)の2進数に変換するにはどうしたらよいでしょうか?
10進数の-7.5を浮動小数点(IEEE754形式)の2進数に変換するにはどうしたらよいでしょうか?
計算方法を教えてください。

Aベストアンサー

14.5を符号と指数と仮数に分けます。
符号は正の数なので符号は0
次に14.5を符号無し2進数に変換すると
1110.1
小数点を左に移動させて1だけ残すと
1110.1=1.1101*2^3
仮数は23ビットで小数点より右側だけなので、足りない分を0でうめて
11010000000000000000000
指数の3を127でバイアスするので
3+127=130
これを2進数に直すと
10000010
全て合わせると、
01000001011010000000000000000000
で、32ビットの2進数に変換できました。
同じように、-7.5を変換すると、
符号は負の数なので1
-7.5を符号無し2進数に変換すると、
 111.1
=1.111*2^2
なので、仮数は
11100000000000000000000
指数の2を127でバイアスすると
2+127=129
これを2進数に直すと
10000001
全て合わせると
11000000111100000000000000000000
になります。
64ビットの場合は、指数のバイアスを127から1023にし、仮数の23ビットを52ビットまで増やせばOKです。

14.5を符号と指数と仮数に分けます。
符号は正の数なので符号は0
次に14.5を符号無し2進数に変換すると
1110.1
小数点を左に移動させて1だけ残すと
1110.1=1.1101*2^3
仮数は23ビットで小数点より右側だけなので、足りない分を0でうめて
11010000000000000000000
指数の3を127でバイアスするので
3+127=130
これを2進数に直すと
10000010
全て合わせると、
01000001011010000000000000000000
で、32ビットの2進数に変換できました。
同じように、-7.5を変換すると、
符号は負の数なので1
-7.5を...続きを読む


人気Q&Aランキング