Бинарная свертка описывается числом M
и применяется к числу N
. Для каждого бита в двоичном представлении M
, если бит установлен ( 1
), соответствующий бит в выводе дается посредством XORing двух битов, смежных с соответствующим битом в N
(при необходимости оборачивая). Если бит не установлен ( 0
), то соответствующий бит на выходе задается соответствующим битом в N
.
Работающий пример (с 8-битными значениями):
- Пусть
N = 150
,M = 59
. Их двоичные представления представлены (соответственно)10010110
и00111011
. - Основываясь на
M
двоичном представлении, биты 0, 1, 3, 4 и 5 свернуты.- Результат для бита 0 дается XORing битами 1 и 7 (так как мы оборачиваемся), приводя к результату
1
. - Результат для бита 1 задается битами XOR 0 и 2, что приводит к результату
0
. - Результат для бита 2 задается исходным битом 2, уступая
1
. - Результат для бита 3 задается битами XORing 2 и 4, что дает результат
0
. - Результат для бита 4 задается битами XOR 3 и 5, что приводит к результату
0
. - Результат для бита 5 задается битами XOR 4 и 6, что приводит к результату
1
. - Результаты для битов 6 и 7 задаются исходными битами 6 и 7, уступая
0
и1
.
- Результат для бита 0 дается XORing битами 1 и 7 (так как мы оборачиваемся), приводя к результату
- Таким образом, вывод
10100110
(166
).
Соревнование
Учитывая N
и M
, выведите результат выполнения двоичной свертки, описанной M
при N
. Ввод и вывод могут быть в любом удобном, согласованном и однозначном формате. N
и M
всегда будет в (включающем) диапазоне [0, 255]
(8-разрядные целые числа без знака), и их двоичные представления должны быть дополнены до 8 битов для выполнения двоичной свертки.
Тестовые случаи
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
code-golf
binary
integer
bitwise
code-golf
rational-numbers
code-golf
string
palindrome
code-golf
ascii-art
code-golf
code-golf
string
fibonacci
code-golf
math
sequence
code-golf
code-golf
string
palindrome
code-golf
string
code-golf
math
primes
source-layout
code-golf
sequence
binary
integer
code-golf
math
arithmetic
game
code-golf
restricted-source
palindrome
code-golf
restricted-source
palindrome
code-golf
combinatorics
binary
code-golf
string
math
code-golf
ascii-art
number
code-golf
cipher
code-golf
base-conversion
counting
code-golf
sequence
random
classification
code-golf
string
subsequence
code-golf
permutations
code-golf
string
code-golf
string
cipher
code-golf
kolmogorov-complexity
arithmetic
integer
code-golf
quine
markov-chain
code-golf
string
code-golf
code-golf
ascii-art
maze
Mego
источник
источник
Ответы:
JavaScript (ES6), 31 байт
источник
Python 2, 35 байт
источник
n=255
?J, 34 байта
Прямой подход, который применяет процесс, определенный в задаче. Принимает ввод в виде массива
[n, m]
.Формы семь смайликов,
[:
,:(
,:1
,(8
,8#
,#:
, и:]
.использование
источник
машинный код x64, 17 байт
Разобрал:
Подходит для соглашения о вызовах Win64 (аргументы в rcx, rdx).
источник
Haskell, 66 байт
Работает как задумано, когда вызывается с
Word8
данными. Замените(255-m)
наcomplement m
(+5 байт), чтобы функция работала с любым беззнаковым целочисленным типом данных.источник