Exercise C.1.2

An $n$-input, $m$-output boolean function is a function from $\{TRUE,FALSE\}^n$ to $\{TRUE,FALSE\}^m$. How many $n$-input 1-output boolean functions are there? How many $n$-input, $m$-output boolean functions are there?

There are $2^n$ possible inputs. We can represent the possible binary functions completely as binary numbers of $2^n$ digits. There $2^{2^n}$ of those.

If there are $2^m$ possible outputs, we can represent the functions as numbers of $2^n$ digits in base $2^m$. This makes the answer of the second question:

$$ (2^m)^{2^n} $$