質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
Pythonista

Pythonistaは、iOS上でPythonプログラミングができる開発アプリです。さらに、Pythonの関数・変数などを自動で補完する便利なコードエディタや、PythonスクリプトをiOS上で多様な形で機能させる各種機能も内包しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

python 全加算器について

Curry
Curry

総合スコア4

Pythonista

Pythonistaは、iOS上でPythonプログラミングができる開発アプリです。さらに、Pythonの関数・変数などを自動で補完する便利なコードエディタや、PythonスクリプトをiOS上で多様な形で機能させる各種機能も内包しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

2回答

0グッド

0クリップ

323閲覧

投稿2022/12/03 02:09

編集2022/12/03 02:24

実現したいこと

今piazzaというサイトで学んでいる初心者です。そのサイトではCランクのレベルを挑戦しています。基本的な標準入力や出力をすることはできます。

問題

京子ちゃんは 二進数 の整数同士で足し算をするプログラムを作成したいと思っています。
二進数の足し算において、下から 1 けた目の計算は半加算器でできることを知り、 2 けた目の計算も同じように足し算ができないかと考えています。

該当のソースコード

ソースコード a, b, c1 = map(int, input().split()) # 半加算器のプログラム def halfAdder(a, b): c = a & b s = a ^ b return (c, s) cx, sy = halfAdder(a, b) cy, s = halfAdder(sy, c1) c2 = cx ^ cy print(c2, s) ### 補足情報(FW/ツールのバージョンなど) わからないところ2進法、half Adderの使い方、return関数 です。解説よろしくお願いします。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/12/03 02:37

こちらの質問が他のユーザーから「問題・課題が含まれていない質問」という指摘を受けました。

2022/12/03 03:33

こちらの質問が他のユーザーから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました。

meg_

2022/12/03 02:15 編集

コードは「コードの挿入」で記入してください。 > 解説を読んだのですが、初心者ということもあり、なかなか理解できなかったです。 ソースはどこでしょうか?URLを追記ください。 また、解説のどの説明が分からなかったのかも追記ください。(同じ説明をしても無駄ですので) > 初心者の私でも理解できるよう解説よろしくお願いします。 「初心者」といっても色々ありますが、プログラミング初心者ですか?Pythonの初心者ですか?どこまで学習されていますか?その辺りの情報がないと「理解できるよう解説」はとても難しいかと思います。
dameo

2022/12/03 02:37

piazzaだとpaizaさんが悲しみそうです。直してあげてください。
TakaiY

2022/12/03 03:30 編集

わからないところに「return関数」 がありますが、return(関数ではない)のどこがわからないでしょうか。
meg_

2022/12/03 03:32

> 今piazzaというサイトで学んでいる初心者です。 「paiza」のことでしょうか? > そのサイトではCランクのレベルを挑戦しています。 スキルチェックのことでしょうか? 利用規約の禁止事項として下記があります。本質問は抵触するものと思われますが大丈夫でしょうか? *********************************** ブログ・SNS等の各種媒体(インターネット媒体に限られず、不特定多数が閲覧可能なものを全て含む。)上において、当社がpaizaで出題した問題の内容、当該問題に対する解答、解答へのヒント等の示唆およびカンニング等の不正を助長する内容等を掲載する行為。 ***********************************

回答2

0

ベストアンサー

2進法

さすがに、これは自分で調べて勉強していただきたい。

half Adderの使い方

half adderは半加算器です。 で、この問題は半加算器を2つ(2回)使って全加算器を作る問題です。
以下の記事がかなり丁寧に解説していますので、参照ください。
https://www.seplus.jp/dokushuzemi/ec/fe/fenavi/mastering_tech/digital_logic/

return関数

なにがわからないのかわからないので保留です。

投稿2022/12/03 03:28

TakaiY

総合スコア10547

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

0

def halfAdder(a, b): # 2つの入力値a, bの論理積をcに代入 c = a & b # 2つの入力値a, bの論理和をsに代入 s = a ^ b # タプル(c, s)を返す return (c, s) # 入力値a, b, c1を受け取る a, b, c1 = map(int, input().split()) # halfAdder()を適用し、結果をcx, syに代入 cx, sy = halfAdder(a, b) # halfAdder()を適用し、結果をcy, sに代入 cy, s = halfAdder(sy, c1) # cxとcyの論理和をc2に代入 c2 = cx ^ cy # c2とsの値を出力 print(c2, s)

このプログラムでは、halfAdder()という関数を定義し、2つの入力値を受け取り、それらの論理積と論理和を計算します。そして、入力値 a, b, c1 を受け取り、半加算器を2回適用することで、二進数の整数の加算の結果を出力します。

投稿2022/12/03 02:17

dark-eater-kei

総合スコア1248

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Pythonista

Pythonistaは、iOS上でPythonプログラミングができる開発アプリです。さらに、Pythonの関数・変数などを自動で補完する便利なコードエディタや、PythonスクリプトをiOS上で多様な形で機能させる各種機能も内包しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。