Splot binarny jest opisany liczbą Mi jest stosowany do liczby N. Dla każdego bitu w reprezentacji binarnej M, jeśli bit jest ustawiony ( 1), odpowiedni bit na wyjściu jest podawany przez XORing dwóch bitów sąsiadujących z odpowiednim bitem w N(owijanie w razie potrzeby). Jeśli bit nie jest ustawiony ( 0), odpowiedni bit na wyjściu jest podawany przez odpowiedni bit w N.
Sprawdzony przykład (z wartościami 8-bitowymi):
- Pozwól
N = 150,M = 59. Ich reprezentacje binarne to (odpowiednio)10010110i00111011. - W oparciu o
Mreprezentację binarną, bity 0, 1, 3, 4 i 5 są splecione.- Wynik dla bitu 0 jest podawany przez XORing bity 1 i 7 (ponieważ się owijamy), dając
1. - Wynik dla bitu 1 podawany jest przez bity XORing 0 i 2, dając
0. - Wynik dla bitu 2 jest podawany przez oryginalny bit 2, dając
1. - Wynik dla bitu 3 podawany jest przez bity XORing 2 i 4, dając
0. - Wynik dla bitu 4 jest podawany przez bity 3 i 5 XORing, dając
0. - Wynik dla bitu 5 jest podawany przez bity 4 i 6 XORing, dając
1. - Wyniki dla bitów 6 i 7 podano w oryginalnych bitach 6 i 7, uzyskując
0i1.
- Wynik dla bitu 0 jest podawany przez XORing bity 1 i 7 (ponieważ się owijamy), dając
- Dane wyjściowe to zatem
10100110(166).
Wyzwanie
Biorąc pod uwagę, Na Mwyjście wynikiem wykonywania binarny splot opisaną przez Mpo N. Dane wejściowe i wyjściowe mogą mieć dowolny dogodny, spójny i jednoznaczny format. Ni Mzawsze będzie w zakresie (włącznie)[0, 255] (8-bitowe liczby całkowite bez znaku), a ich reprezentacje binarne powinny zostać uzupełnione do 8 bitów w celu wykonania splotu binarnego.
Przypadki testowe
150 59 -> 166
242 209 -> 178
1 17 -> 0
189 139 -> 181
215 104 -> 215
79 214 -> 25
190 207 -> 50
61 139 -> 180
140 110 -> 206
252 115 -> 143
83 76 -> 31
244 25 -> 245
24 124 -> 60
180 41 -> 181
105 239 -> 102
215 125 -> 198
49 183 -> 178
183 158 -> 181
158 55 -> 186
215 117 -> 198
255 12 -> 243