午前令和3年秋期  問23

しずかさん  
(No.1)
教えてください。
16進数08を2進数にして
0000 1000
ビット6を変化させず(0)にビット3を点灯する(1)にしたいんだと思い、ビット6を0との論理積、ビット3を1との論理積を取る形にしても結果は同じじゃないかと考えているんですが、なぜ08との論理和が答えとなるのでしょうか。
回答の論理積ではLED1が点灯せず、点灯していたLED2が消灯するため誤りの意味がわからず。
根本の解き方について理解が追いついてないです。
すみませんが教えていただけますと幸いです。
2024.09.29 17:17
pixさん 
AP シルバーマイスター
(No.2)
ANDとORの特性を理解されていないようです。

・ANDの特性:強制的に0にすることが可能。すなわちOFFにするために利用する。
X AND 0 -> 0    強制的に0になる
X AND 1 -> X    変化しない(Xのまま)

・ORの特性:強制的に1にすることが可能。すなわちONにするために利用する。
X OR 0 -> X    変化しない(Xのまま)
X OR 1 -> 1    強制的に1になる

今回は強制的に1にすることが目的です。そのため、ORを使います。
元データ:XXXX XXXX
パターン:0000 1000 
          ---------
結果    :XXXX 1XXX
となり、ビット3が強制的に1になります。

スレ主様のANDの解答は
元データ:XXXX XXXX
パターン:0000 1000 
          ---------
結果    :0000 X000
となり、ビット6は強制的に0になってしまいます。ビット3はXまま変化なしです。
2024.09.29 17:43
しずかさん  
(No.3)
ありがとうございます!!!
とってもわかりやすかったです
2024.09.29 19:42
皆さん、負けず頑張ろさん 
(No.4)
この投稿は投稿者により削除されました。(2024.09.29 19:53)
2024.09.29 19:53

返信投稿用フォーム

※SQL文は全角文字で記載してください。
※宣伝や迷惑行為を防止するため、当サイト、姉妹サイト、IPAサイト以外のURLを含む記事の投稿はできません。

投稿記事削除用フォーム

投稿番号:
パスワード:

その他のスレッド


Pagetop