(0.1875)_10 = (0.0011)_2の変換の様子をLaTeXで実現する.
test.tex
\documentclass{article}
\usepackage{xstring}
\usepackage{xifthen}
\usepackage{amsmath}
\usepackage{fp}
\begin{document}
\newcounter{index}
\newcommand{\FtoB}[2][2]{%
\edef\result{#2}%
\FPsub{\result}{\result}{0}%
\edef\resbin{0.}%
\StrLen{#2}[\mystrlen]%
\setcounter{index}{0}%
\FPsub{\mylen}{\mystrlen}{2}%
\FPtrunc{\result}{\result}{\mystrlen}%
\whiledo{\value{index} < \mystrlen}{%
\stepcounter{index}%
$\result * 2 = {}$%
\FPmul{\result}{\result}{2}%
\FPtrunc{\resultint}{\result}{0}%
\FPsub{\result}{\result}{\resultint}%
\FPtrunc{\result}{\result}{\mystrlen}%
\edef\resbin{\resbin\resultint}%
$\result \rightarrow$ \ \resultint, \resbin
\\
}
}
\noindent
\FtoB{0.1875}
\noindent
\FtoB{0.5}
\noindent
\FtoB{0.125}
\noindent
\FtoB{0.25}
\noindent
\FtoB{0.200000000}
\end{document}
こうなります.