\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing}
\newcommand{\emin}{-5}
\newcommand{\eminplusone}{-4}
\newcommand{\emax}{6}
\newcommand{\p}{3}
\newcommand{\fmax}{3} % 2^(\p - 1) - 1
\begin{document}
\begin{tikzpicture}[x=15em,y=2em]
% zero
\draw (0,0) -- (0,1.5ex) node[above] {$\mathstrut 0$};
% subnormal
\foreach \f in {1, ..., \fmax} {
\pgfmathsetmacro\x{(0 + \f/2^(\p - 1)) * 2^\emin}
\draw (\x,0) -- (\x,1ex);
}
% normal
\foreach \e in {\emin, ..., -1} {
\pgfmathsetmacro\x{(1 + 0/2^(\p - 1)) * 2^\e}
\draw (\x,0) -- (\x,1.5ex);
\foreach \f in {1, ..., \fmax} {
\pgfmathsetmacro\x{(1 + \f/2^(\p - 1)) * 2^\e}
\draw (\x,0) -- (\x,1ex);
}
}
% label tick at 1/2
\node[above] at (0.5,1.5ex) {$\mathstrut 1/2$};
% one
\draw (0.5,0) -- (0.5,1ex);
\draw (1,0) -- (1,1.5ex) node[above] {$\mathstrut 1$};
% axis
\draw[<->] (-0.0625,0) -- (1.1,0);
% highlight binade [2^{-2}, 2^{-1})
\draw[decorate, decoration={brace}, below=1ex, thick]
({(1 + \fmax/2^(\p - 1) + 1/2^(\p + 1))*2^(-2)}, 0)
-- ({(1 + 0/2^(\p - 1) - 1/2^(\p + 1))*2^(-2)}, 0)
node[pos=0.5, below=0.5ex] {$\mathstrut {+}1.xy \times 2^{-2}$};
\end{tikzpicture}
\end{document}