![有没有办法在 tikz 中进行位测试?](https://linux22.com/image/367548/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E5%9C%A8%20tikz%20%E4%B8%AD%E8%BF%9B%E8%A1%8C%E4%BD%8D%E6%B5%8B%E8%AF%95%EF%BC%9F.png)
我想在 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
。