A demultiplexer has N control inputs that determine which of its 2N outputs receives the single data input. It performs the opposite function of a multiplexer by routing the data input to the selected output based on the control input values. Demultiplexers are used to distribute a data signal to multiple outputs based on a select code.