論理演算メニュー】> STEP: 8 半加算器 (paizaランク D 相当) [難易度: 1440 ±15]

※リンク先へ移動するためには[paiza]へのログインが必要です。

問題文

京子ちゃんは 二進数 1 けたの整数 A と B を使って、 A + B を計算したいと思っています。

上記の画像のように、 A と B を足した結果 (2 進表記) の下から 2 けた目の値を C 、下から 1 けた目の値を S とします。 C と S を出力してください。

入力値(例)
0 1

出力値(例)
0 1

解答例

解説

半加算器とは、1桁の2進数を2つ加算する仕組みのことです。

加算パターンには4通りあり、

XYCS
0000
0101
1001
1110

C は、 Carry (桁上がり)という意味で、 S は、 Sum (和)という意味です。このような真理値表で表せます。

Cは、XとYの両方が「真」のとき「真」になります。これは、XとYのAND演算(式 & 式)です。

Sは、XとYのどちらか一方が「真」のとき「真」になります。これは。XとYのXOR演算(式 ^ 式)です。

AND演算とXOR演算を使ってコードを書きます。

おすすめの記事
スポンサーリンク