An Analog Devices ADuCM355 firmware routine needs to inspect and update a register value. Given a nonnegative decimal integer, convert it to a fixed-width binary representation and apply one operation to a specified bit.
Implement manipulate_register_bits(value, width, bit_index, operation). Bit index 0 is the least significant bit. The operation is one of "set", "clear", or "toggle". Return the resulting value as a binary string of exactly width characters, including leading zeroes.
value, width, and bit_index, plus a string operation.bin() function. Use bitwise operators and formatting or equivalent logic.def manipulate_register_bits(value, width, bit_index, operation):