論理和の理由について

さやかさん  
(No.1)
https://www.ap-siken.com/apkakomon.php

LEDを点灯させるには対応するビットに"1"を出力します。LED2を変化させずに、LED1を点灯させるには、汎用入出力ポートから読み出した値のビット6はそのまま、ビット3を"1"にした値を書き込めば良いことになります。

ビット6について読み出したビットを変化させずにそのまま出力するには、"1"との論理積(AND)をとるか、"0"との論理和(OR)をとることになります。ビット3については必ず1を出力したいので"1"との論理和をとるのが必須です。この2つの条件を組み合わせると、ビット3は"1"で論理和をとる、論理和を使用するためビット6は"0"を使うことになります。
→論理積でも1が取れると思うのですがどうして論理和でないといけないのでしょうか

質問の仕方が下手で申し訳ありませんが分かる方教えてください
2023.09.18 19:44
うたさん 
(No.2)
ビット3を必ず1にする必要があるのに、1との論理積だと元のビット3の値が0のとき1が出力されないからではないでしょうか
2023.09.18 20:04
さやかさん  
(No.3)
ありがとうございます。
この問題は元のビット3の値が1でしたがそれは関係なく、ってことでしょうか。
2023.09.18 21:29
お役に立てない人さん 
(No.4)
この投稿は投稿者により削除されました。(2023.09.21 05:40)
2023.09.21 05:40
お役に立てない人さん 
(No.5)
この投稿は投稿者により削除されました。(2023.09.21 05:40)
2023.09.21 05:40
あものすけさん 
(No.6)
今更の返答にはなりますが…
問題文は、「LED1(ビット3)を, LED2の状態を変化させずに点灯したい。」なので、元のビット3の値は0か1かは定まっていないと思います。
2023.10.01 11:03

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop