ここから本文です

マイクラの回路について質問です。

アバター

ID非公開さん

2019/5/1001:50:32

マイクラの回路について質問です。

昔作っていた回路で画像も貼れないんですが、説明だけしてくと2桁の数字当てゲームを作っていて、最終的にマイクラ内でランダムに作成した数字と自分の入力した数字の比較について悩んでます。
自分の作っていた回路の場合2進数4桁を1桁ずつ比べていきます。

例えばランダムで作られた数字が
5なら 0101 で
入力した数字が
9 1001 なら
最初は1桁目の1と1で比べていきます。
上の5と9の場合1桁目が同じ大きさのため2桁目の比較になります。
ただ上の数字の場合問題は3桁目で、9が0で、5が1なので、9よりも5の方が大きい数字となります。
どうやったら解決出来るかなと思ってます。
説明だけじゃ分かりずらいですが、分かる方はお願いします。

閲覧数:
35
回答数:
2

違反報告

ベストアンサーに選ばれた回答

uma********さん

2019/5/1008:17:51

各桁のビット比較回路の組み方がわからず困っている。という事でしょうか?

数値を内部でどうやって保持しているのかはわかりませんが、
ラッチか何かで1ビットごとに情報を保持していて、そこを1桁づつ比較していく形でやり方としては合っています。

本来の比較であれば上の桁のほうが大きい…‥などは関係がないはずなので、おそらくこの比較の仕方が何か間違っている。


ここは桁数ごとにXNORという計算で比較していく事になります。
XNORとは、両方が1か、両方が0の時のみ、真となる。計算。
要するに両方のビットが同じ数値かな? という事を見るためのものですね。

XOR(1と0、0と1 の時だけオンになる)の逆。

つまり、今考えているものであれば、各桁のビットを1桁づつXOR回路に通して行って、
その結果で1つでもONになるものが出てくれば、数値は合っていないよ。

……という作り方にすると良いでしょう。



まずは単純にレッドストーントーチでオンオフを切り替えていって比較するように作ると画像のようなものになります。

今は、下のほうだけがオン……1になっている状態ですね、ランプが光っているのがわかると思います。
上の方のレバーをオンにするとこのランプは消えます。同様に下のレバーをオフにしてもランプは消える。

両方のレバーがオンの場合は、両側のトーチが2つとも消えるわけですが、
その代わりに中央のトーチが点灯してその先のトーチ2つに同時に信号を送って消してあげるわけですね。

ちょっと解説がややこしいですが…、わかるでしょうか。


この回路を組み込んで、ランプが一度でも光ったら同じ数値じゃないよ。という結果にしてあげれば良いと思います。
コンパレータなどを用いればもっとコンパクトにこれを作る方法もありますので、飲めてきたら色々試してみてください。

以上です。

各桁のビット比較回路の組み方がわからず困っている。という事でしょうか?...

  • uma********さん

    2019/5/1008:19:02

    両方のレバーがオン(1)の時はこの状態。
    中央のトーチが点灯して、ランプが消えているのがわかると思います。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

ian********さん

2019/5/1019:44:41

上の桁から判断すればいいのでは?
0101 1001の場合も0と1で比較することになるので9のほうが大きいことになるので。
その他の場合でも、あるどこかの桁でこっちのほうが大きいと決まってしまうとそれ以下の数字がすべて1でも追い越すことはできないので、恐らくいつでも使えるかと。そんな回路作れないなどのクレームは受け付けません。そんな詳しくないです。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる