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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

1356閲覧

Javaで否定論理積をもとめるプログラム

icebow

総合スコア1

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2022/11/12 03:34

編集2022/12/13 06:21

******************************

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Bit b1= x && y;
Bit b2= !b1;

&& や ! が使えるのは boolean 型だけで、その結果も boolean 型です。
なので Bit 型 の x や y, b1, b2 には、使えませんし入れられません。
And クラスや Not クラスを組み合わせて書くべきと思います。

LogicCircuit も And も Not も冗長ですし、本来なら Nand 共々メソッドとして Bit に書くのが使い易いと思いますが。

投稿2022/11/12 03:59

編集2022/11/12 04:26
jimbe

総合スコア12696

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

icebow

2022/11/12 05:58

And クラスや Not クラスを組み合わせる場合どのようなコードを使用すればいいのでしょうか
jimbe

2022/11/12 06:57 編集

恐らく何かしらの課題であると見て、明確な回答(コード)は避けています。 b1, b2 にどのような値(演算結果)が入るべきなのかは「試したこと」で合っていると思いますので、後は各クラスを使用する形に変えるだけです。 ご自分で作ったのであれば使い方は分かっているはずですし、誰かが作ったのであれば使い方も説明されている、もしくは見れば分かるだけの勉強をしているはずなのではないでしょうか。
icebow

2022/11/12 08:05

考えが詰まってしまっているので回答につながりそうな検索ワード等ヒントをいただけないでしょうか
dodox86

2022/11/12 10:26

@質問者icebowさん > And クラスや Not クラスを組み合わせる場合 コード云々ではないですが、情報処理関係の授業であれば、以前にデジタル回路、論理回路について学んでいないでしょうか。それの応用で出来るように思います。
jimbe

2022/11/13 09:06 編集

> 回答につながりそうな検索ワード等ヒント う~ん・・・恐らく本件に直接使えるようなコードは、ネットにはそうそう無いと思います。構造的に"普通こんなクラスとか作らない"と感じますので。 まずは And や Not が動作する様子 ( _0_ と _1_ を and した結果等)を表示するような実行可能コードを書いて実験してみては如何でしょうか。 System.out.println("_0_ and _0_ = " + 『Andクラスを使って _0_ と _0_ を and』); System.out.println("_0_ and _1_ = " + 『Andクラスを使って _0_ と _1_ を and』); System.out.println("_1_ and _0_ = " + 『Andクラスを使って _1_ と _0_ を and』); System.out.println("_1_ and _1_ = " + 『Andクラスを使って _1_ と _1_ を and』); みたいな。これを実行して _0_ and _0_ = _0_ _0_ and _1_ = _0_ _1_ and _0_ = _0_ _1_ and _1_ = _1_ と表示されたら「 And はこう使える」と分かるのではないでしょうか。
jimbe

2022/11/13 08:39

ばっちりだと思います。
xebme

2022/11/20 10:44

すでに解決していますが、あえてコメントします。 論理回路で0,1の入出力値が決まっているので以下の置き換えが可能です。 and(a,b) = min(a,b) or(a,b) = max(a,b) not(a) = abs(a-1) 0,1に0.5(unknown)を加えた3値論理でも3つの等式が成り立ちます。3値論理はSQLでnullを含めた論理式の評価で使われています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問