我希望能够生成通过位操作处理 y 轴数据的图表,我尝试过几次,但我认为这是我最接近的一次。我认为问题在于,如果我将其更改为常量值,它会按预期工作,但尝试通过或\bitsetSetDec{B}{#1}
使用 y 数据只会导致全为零。...{#1}
...{\pgfmathresult}
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\usepackage{bitset}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot+[y filter/.append code={%
\bitsetReset{A}%
\bitsetReset{B}%
\bitsetSetDec{A}{128}%
\bitsetSetDec{B}{#1}% <- Possible source of problem
\bitsetAnd{A}{B}% A &= B
\def\pgfmathresult{\bitsetGetDec{A}}%
}] coordinates{(0,16)(1,130)};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
pgfplots
使用 PGF 的浮点单元 (FPU) 库。它具有不同的数字内部表示,因此您必须来回转换。
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\usepackage{bitset}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot+[y filter/.append code={%
\bitsetReset{A}%
\bitsetReset{B}%
\bitsetSetDec{A}{128}%
\pgfmathfloattoint{#1}%
\bitsetSetDec{B}{\pgfmathresult}%
\bitsetAnd{A}{B}% A &= B
\pgfmathfloatparsenumber{\bitsetGetDec{A}}%
}] coordinates{(0,16)(1,130)};
\end{axis}
\end{tikzpicture}
\end{document}