Можно ли с помощью логических операция OR, AND, XOR сделать следующее:
есть байт с неизвестным содержимым. нужно определенные биты в 1 и 0 поставить.
к примеру в функцию передаю два байта. в одном из байтов надо повторить определенный биты второго байта.
к примеру первые три бита сделать аналогичными. как это сделать не анализируя каждый бит отдельно?
// best regardz, black c0de
Здравствуйте, black_c0de, Вы писали:
_>Можно ли с помощью логических операция OR, AND, XOR сделать следующее:
_>есть байт с неизвестным содержимым. нужно определенные биты в 1 и 0 поставить.
_>к примеру в функцию передаю два байта. в одном из байтов надо повторить определенный биты второго байта.
_>к примеру первые три бита сделать аналогичными. как это сделать не анализируя каждый бит отдельно?
Каждая из пар OR-NOT и AND-NOT образуют базис. Это значит, что с помощью одной пары можно выразить любые требуемые операции. В твоем случае надо написать ф-цию, в которой использовать маски, как и сказал Protey. Сделай это любыми известными тебе операторами, а потом просто приведи их к нужному базису. Кстати, XOR — не базисная ф-ция, сл-но обойдешься только OR-NOT или AND-NOT.