# From Binary String > Create a [double-precision floating-point number][ieee754] from a [literal bit representation][@stdlib/number/float64/base/to-binary-string].
## Usage ```javascript var fromBinaryString = require( '@stdlib/number/float64/base/from-binary-string' ); ``` #### fromBinaryString( bstr ) Creates a [double-precision floating-point number][ieee754] from a [literal bit representation][@stdlib/number/float64/base/to-binary-string]. ```javascript var bstr = '0100000000010000000000000000000000000000000000000000000000000000'; var val = fromBinaryString( bstr ); // returns 4.0 bstr = '0100000000001001001000011111101101010100010001000010110100011000'; val = fromBinaryString( bstr ); // returns 3.141592653589793 bstr = '1111111111100001110011001111001110000101111010111100100010100000'; val = fromBinaryString( bstr ); // returns -1.0e308 ``` The function handles [subnormals][subnormals]. ```javascript var bstr = '1000000000000000000000000000000000000000000000000001100011010011'; var val = fromBinaryString( bstr ); // returns -3.14e-320 bstr = '0000000000000000000000000000000000000000000000000000000000000001'; val = fromBinaryString( bstr ); // returns 5.0e-324 ``` The function handles special values. ```javascript var bstr = '0000000000000000000000000000000000000000000000000000000000000000'; var val = fromBinaryString( bstr ); // returns 0.0 bstr = '1000000000000000000000000000000000000000000000000000000000000000'; val = fromBinaryString( bstr ); // returns -0.0 bstr = '0111111111111000000000000000000000000000000000000000000000000000'; val = fromBinaryString( bstr ); // returns NaN bstr = '0111111111110000000000000000000000000000000000000000000000000000'; val = fromBinaryString( bstr ); // returns Infinity bstr = '1111111111110000000000000000000000000000000000000000000000000000'; val = fromBinaryString( bstr ); // returns -Infinity ```
## Examples ```javascript var randu = require( '@stdlib/random/base/randu' ); var round = require( '@stdlib/math/base/special/round' ); var pow = require( '@stdlib/math/base/special/pow' ); var toBinaryString = require( '@stdlib/number/float64/base/to-binary-string' ); var fromBinaryString = require( '@stdlib/number/float64/base/from-binary-string' ); var frac; var sign; var exp; var b; var x; var y; var i; // Convert random numbers to literal bit representations and then convert them back... for ( i = 0; i < 100; i++ ) { if ( randu() < 0.5 ) { sign = -1.0; } else { sign = 1.0; } frac = randu() * 10.0; exp = round( randu()*100.0 ); if ( randu() < 0.5 ) { exp = -exp; } x = sign * frac * pow( 2.0, exp ); b = toBinaryString( x ); y = fromBinaryString( b ); console.log( '%d => %s => %d', x, b, y ); console.log( x === y ); } ```