web-dev-qa-db-fra.com

Que signifie un plus encerclé?

Je ne comprends pas le calcul "66 ⊕ fa = 9c". La somme est clairement supérieure à "ff", donc je suis confus. Le sujet est un algorithme de chiffrement simple.

Que signifie un plus encerclé?

Les gens disent que le symbole ne signifie pas l'addition. C'est vrai, mais cela n'explique pas pourquoi un symbole de type plus est utilisé pour quelque chose qui n'est pas un ajout.

La réponse est que pour l'addition modulo de valeurs à 1 bit, 0 + 0 == 1 + 1 == 0 et 0 + 1 == 1 + 0 == 1. Ce sont les mêmes valeurs que XOR.

Ainsi, plus dans un cercle dans ce contexte signifie "addition modulo-2 au niveau du bit". Ce qui est, comme tout le monde le dit, XOR pour les entiers. Il est courant en mathématiques d'utiliser plus dans un cercle pour une opération qui est une sorte d'addition, mais qui n'est pas une addition d'entier régulière.

61
Steve Jessop

Ce n'est pas un plus, mais le signe de l'opérateur binaire XOR

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

Ce n'est pas un ajout, mais une opération OR exclusive. Au moins la sortie confirme la même chose.

enter image description here

7
Arnkrishn

C'est l'opérateur XOR, pas l'opérateur PLUS

XOR fonctionne petit à petit, sans report comme le fait PLUS

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

J'espère que cette disposition fonctionne, amenez-la dans la représentation binaire avec un [~ # ~] xor [~ # ~] :

66h = 102 decimal = 01100110 binary
FAh = 250 decimal = 11111010 binary
------------------------------------
                    10011100 binary <------ that's 9Ch/156 decimal
    Les règles XOR sont essentiellement:
  • 1 XOR 1 = 0 false
  • 1 XOR 0 = 1 vrai
  • 0 XOR 0 = 0 false

mais le wiki que j'ai lié plus tôt vous donnera plus de détails si nécessaire ... c'est à quoi ils ressemblent dans la capture d'écran que vous avez fournie

6
curtisk

Le symbole plus dans un cercle ne signifie pas l'addition. Il s'agit d'une opération XOR.

5

C'est un exclusif ou (XOR). Si je me souviens bien, lorsque je fais des mathématiques au niveau du bit, le point (.) Signifie ET et le plus (+) signifie OU. Mettre un cercle autour du plus pour signifier XOR est cohérent avec le style utilisé pour OR.

4
Sean

J'ai utilisé la logique dans les réponses de rampion et schnaader. Je vais résumer comment j'ai confirmé les résultats. J'ai changé les nombres en binaire, puis j'ai utilisé l'opération XOR. Alternativement, vous pouvez utiliser les tables hexadécimales: Cliquez ici!