  Given a combinatorial decomposition for a counting problem, we resort to the
simple scheme of approximating large numbers by floating-point representations
in order to obtain efficient Fully Polynomial Time Approximation Schemes
(FPTASes) for it. The number of bits employed for the exponent and the mantissa
will depend on the error parameter $0 < \varepsilon \leq 1$ and on the
characteristics of the problem. Accordingly, we propose the first FPTASes with
$1 \pm \varepsilon$ relative error for counting and generating uniformly at
random a labeled DAG with a given number of vertices. This is accomplished
starting from a classical recurrence for counting DAGs, whose values we
approximate by floating-point numbers.
  After extending these results to other families of DAGs, we show how the same
approach works also with problems where we are given a compact representation
of a combinatorial ensemble and we are asked to count and sample elements from
it. We employ here the floating-point approximation method to transform the
classic pseudo-polynomial algorithm for counting 0/1 Knapsack solutions into a
very simple FPTAS with $1 - \varepsilon$ relative error. Its complexity
improves upon the recent result (\v{S}tefankovi\v{c} et al., SIAM J. Comput.,
2012), and, when $\varepsilon^{-1} = \Omega(n)$, also upon the best-known
randomized algorithm (Dyer, STOC, 2003). To show the versatility of this
technique, we also apply it to a recent generalization of the problem of
counting 0/1 Knapsack solutions in an arc-weighted DAG, obtaining a faster and
simpler FPTAS than the existing one.
