There is also a complement part that does the 8-to-3 line encoding/multplexing
Called a Priority Encoder, takes 3 bits in and outputs a zero on the line number represented by the value on the inputs. You can also do the same things with a data select if you ground the input.
74147: 10-Line to 4-Line Priority Encoder
74148: 8-Line to 3-Line Priority Encoder
74150: 16-Line to 1-Line Data Selector/Multiplexer
74151: 8-Line to 1-Line Data Selector/Multiplexer
74152: 8-Line to 1-Line Data Selector/Multiplexer
74153: Dual 4-Line to 1-Line Data Selector/Multiplexer
74154: 4-Line to 16-Line Decoder/Demultiplexer
74155: Dual 2-Line to 4-Line Decoder/Demultiplexer
74156: Dual 2-Line to 4-Line Decoder/Demultiplexer with open collector outputs
74157: Quad 2-Line to 1-Line Data Selector/Multiplexer, Noninverting
74158: Quad 2-Line to 1-Line Data Selector/Multiplexer, Inverting
74159: 4-Line to 16-Line Decoder/Demultiplexer with open collector outputs
looks good! i wonder what a 5 input one looks like!
They don't make one a 4 input one is big enough. You can cascade them so you can make what ever size you want.