Construction of a sequence $f_n$ which converge monotonically to $f$ from below 
Let $f$ be a non-negative measurable function and $f_n$ a sequence of
non-negative simple functions which converge monotonically to $f$ from
below. The limit lim$_{n \to \infty} \int_{\Omega}f_n d\mu$ is called
the Lebesgue integral of the function f. It is denoted by
$\int_{\Omega}f d\mu$.

Source: Theory of probability and random processes / leonid b. koralov, yakov g. sinai.
To show the above, we must need to show there exists such a sequence of $f_n$. The textbook said:
Let $f_n$ be defined by the relations
$f_n (\omega)=k2^{-n}$ if $k2^{-n} \leq f (\omega) < (k+1)2^{-n}$, k = 0,1,...
I don't quite understand this construction of $f_n$. I hope someone can give me a clear explanation. Many thanks!
 A: This construction divides the range into disjoint half-open intervals $[a,b)$ of length $2^{-n}$. Then $f_n$ sends $\omega$ to the lower endpoint of the unique one of these intervals in which $f(\omega)$ lies.
Addendum: In other words,
$$f_n(\omega) = \lfloor 2^nf(\omega) \rfloor /2^n$$
Visually, you can take the graph of $f$ and draw horizontal lines spaced $1/2^n$ apart (that is, at each $y_0, y_1, y_2...$ where $y_k = k/2^n$). This will slice the graph into "pieces" lying in the strips $\mathbb R \times [y_k,y_{k+1})$. You obtain the graph of $f_n$ by projecting each "piece" down onto the bottom $\mathbb R \times y_k$ of the strip in which it lies.
The significance of $n$ is that it represents the "resolution" of the discretization. As $n\to\infty$, the graphs of the $f_n$ become finer and finer and approach the graph of $f$ more and more closely.
The graphs below illustrate the construction with $f(x) = x^2$ for $n=3$ and $n=4$. The corresponding strips have width $2^{-3}=1/8$ and $2^{-4}=1/16$.

Another way to think of this is to regard $f_n$ as representing the values of $f$ using $n$ bits for the fractional part. For example, with one-bit resolution, the possible (positive) fractional values are $\{0, \frac12\}$; with two-bit resolution, the possible fractional values are $\{ 0, \frac14, \frac12, \frac34\}$; with three-bit resolution, the possible fractional values are $\{ 0, \frac18, \frac14, \frac38, \frac12, \frac58, \frac34, \frac78\}$; and so on. $f_n$ truncates the binary representation of $f$ to $n$ bits for the fractional part.
