Hardware Random Numbers - How to convert Voltage signal into binary? I have a physical unit, e.g. a resistor. I bias it with current and measure the voltage. Let us assume that the fluctuations ($\Delta V=V-&lt;V&gt;$) of this voltage signal are random. Now, $\Delta V$ contains floating numbers with some certain significant digits, say [1.243, 3.567, -3.987, ..., etc]. To test these random numbers (using something like DieHard test), I need to convert these values into binary, 0 or 1. 

How do I do that? One way to do it is to set a limit, say 0, such that positive values are mapped to zeros and negative values are mapped to ones (or vice versa). Is there any better way to do it?
What you want to do depends on your objective.

If you only want to make a good RNG from the values you have, so that it passes a Diehard test (passing the test being the objective), that's fine and easy. You do not need to know, or care, about how the values are obtained; essentially, you can take whatever form the "floating numbers" reach you (be it characters coding numbers in decimal separated by newline character, words in whatever IEEE 754 format..) and feed that to a CSPRNG. Here is one of the simplest possible implementation: you decide a number $n$ of values to process (or a duration during which values will be processed), and hash whatever form the "floating numbers" representing these values reach you using SHA-256, giving a 256-bit $H$. You then produce random bits using HMAC-SHA-256, with key $H$, and input some counter initialized to zero and large enough to never repeat. This output will pass DieHard or any pre-existing RNG test (that works and is correctly interpreted). That's including if $n=0$ (illustrating that passing such test is not a good argument that a RNG is a good TRNG).

A very different objective is estimating how likely it is that a RNG made according to the above sound principle (feeding a CSPRNG with your source) gives the same output for $m$ uses (especially: on power-up of some device under some well-defined and attacker-controlled conditions), and how large $n$ should be to make this practically impossible. To do this accurately based on an analysis of a stream of the "floating numbers" (rather than on actual data gathered at numerous power-up), a good model of the physical setup and data processing chain leading to the "floating numbers" would be required.

But what you get with LabView from a modern digital scope (or worse, voltmeter) has gone through much undocumented preprocessing, so you can't do this. It remains a reasonable objective to give a lower bound on the actual entropy gathered. Update 2: A RNG test such as DieHard  is not intended for this, but here is something derived that should do: replace each pair of "floating number" by bit 1 if the first number is more than the other, or 0 otherwise. If the resulting sequence pass the DieHard test, then it is likely that each "floating number" has at least $1/2$ bit of entropy (thus feeding all the bits in $n=512$ consecutive representations of "floating number" will seed any sound CSPRNG with at least 256 bit of entropy). If not (that'll depend on the source), try again replacing each set of $k$ bits by the XOR of these bits, increasing $k$ until the test pass; then it is likely that each "floating number" has at least $1/2k$ bit of entropy, so that $n=512k$ will do.