绘制一个有 32 个单元格的网格,中间矩形不显示

Draw a grid with 32 cells, intermediate rectangles does not show up

我想画一张图来描述浮点 IEEE754 规范。 为此,我尝试绘制一个包含 32 个矩形的网格。 (然后我发现有一个网格命令)。 这是 4 个单元格的 MWE:

\documentclass{standalone}
\usepackage[utf8]{inputenc}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
    \newcommand{\width}{1}
    \newcommand{\height}{2}
    \foreach \x in {0, 1}{
    \draw (\x, 0) rectangle (\x+\width, \height);
    }
    \foreach \x in {2, 3}{
    \draw (\x, 0) rectangle (\x+\width, \height);
    }
\end{tikzpicture}
\end{document}

我用了两个foreach。我可以将它们合并为一个,但我只获得最左侧和最右侧的矩形,而不是第一个 MWE 中的四个矩形。为什么会这样?

\begin{tikzpicture}
    \newcommand{\width}{1}
    \newcommand{\height}{2}
    \foreach \x in {0, 4}{
    \draw (\x, 0) rectangle (\x+\width, \height);
    }
\end{tikzpicture}

通过使用 \foreach \x in {0, 4},您的列表实际上只有这两个值,没有中间值。

如果您想包含中间步骤,可以使用\foreach \x in {0,...,3}

\documentclass{standalone}
\usepackage[utf8]{inputenc}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
    \newcommand{\width}{1}
    \newcommand{\height}{2}
    \foreach \x in {0,...,3}{
    \draw (\x, 0) rectangle (\x+\width, \height);
    }
\end{tikzpicture}
\end{document}