web-dev-qa-db-ja.com

丸で囲まれたプラスとはどういう意味ですか?

「66⊕fa = 9c」という計算が理解できません。合計が明らかに「ff」を超えているため、混乱しています。トピックは単純な暗号化アルゴリズムです。

○とはどういう意味ですか?

人々はシンボルが追加を意味しないと言っています。これは本当ですが、プラス以外の記号が追加ではないものに使用される理由を説明していません。

答えは、1ビット値のモジュロ加算の場合、0 + 0 == 1 + 1 == 0、および0 + 1 == 1 + 0 == 1です。これらはXORと同じ値です。

したがって、このコンテキストでのプラスの丸は、「ビット単位の加算法2」を意味します。誰もが言うように、これは整数のXORです。数学では、加算の一種であるが、通常の整数加算ではない演算にプラスで円を使うのが一般的です。

61
Steve Jessop

これはプラスではありませんが、二項演算子の記号 [〜#〜] xor [〜#〜]

a   b   a XOR b
0   0   0
0   1   1
1   0   1
1   1   0
18
schnaader

これは追加ではなく、排他的なOR操作です。少なくとも出力は同じことを確認します。

enter image description here

7
Arnkrishn

これは、XOR演算子であり、PLUS演算子ではありません

XORは、PLUSのように持ち越されることなく、少しずつ動作します

1 XOR 1 = 0
1 XOR 0 = 1
0 XOR 0 = 0
0 XOR 1 = 1
6
rampion

このレイアウトが機能することを願って、 [〜#〜] xor [〜#〜] でバイナリ表現に持って行きます:

66h = 102 decimal = 01100110 binary
FAh = 250 decimal = 11111010 binary
------------------------------------
                    10011100 binary <------ that's 9Ch/156 decimal
    XORルールは基本的に次のとおりです。
  • 1 XOR 1 = 0 false
  • 1 XOR 0 = 1 true
  • 0 XOR 0 = 0 false

ただし、必要に応じて、以前にリンクしたWikiで詳細が表示されます...提供されたスクリーンショットで表示されているように見えます

6
curtisk

円の中のプラス記号は加算を意味しません。 XOR操作です。

5

排他的OR(XOR)です。正しく覚えていれば、ビット単位の数学を行うとき、ドット(。)はANDを意味し、プラス(+)はORを意味します。 XORを意味するプラスの周りに円を置くことは、ORに使用されるスタイルと一致しています。

4
Sean

ランピオンとシュナダーによる応答のロジックを使用しました。結果を確認した方法を要約します。数値をバイナリに変更し、XOR演算を使用しました。または、16進数テーブルを使用することもできます。 ここをクリック!