A multiplexer selects one of many inputs, a decoder turns a binary code into one active line, and an encoder does the reverse. All three can implement Boolean functions.