我想在 tikz 中执行一些数字的按位函数,例如
\def\mask{165} %% = 0xa5 but it looks like TeX doesn't know hex
\foreach \k in {0,...,7} {
\node[mybox] (b\k) at ($(-\k*\d*2, 0)$) {$b_{\k}$};
%% if bit \k of \mask is 1:
\draw[->](b\k) -- ++(0,\d);
%%
}
有办法吗?我不确定是否可以用于\ifnum
此目的;我对 TeX 中的控制结构不太熟悉。
我发现intcalc
它有intcalcShr
(右移 1) 和intcalcMod
但我不知道如何右移\k
。或者,如果我知道一种在循环中每次更新值的命令式风格 ( x = x >> 1
),那么我想我可以使用 来解决这个问题intcalc
。