Inspect binary representation of IEEE754 doubles
npm install double-bitsdouble-bits
===========
Routines for manipulating binary representations of a IEEE 754 double precision numbers.


``javascript
var db = require("double-bits")
//Get higher order word
console.log(db.hi(1.0).toString(16)) //Prints out: 3ff00000
//Get lower order word
console.log(db.lo(1.0).toString(16)) //Prints out: 0
//Combine two words into a double
console.log(db.pack(0, 0x3ff00000)) //Prints out: 1.0
//More sophisticated example: Print out base 2 representation
var pad = require("pad")
function base2Str(n) {
var f = db.fraction(n)
return (db.sign(n) ? "-" : "") +
"2^" + (db.exponent(n)+1) +
" * 0." + pad(f[1].toString(2), 20, "0") +
pad(f[0].toString(2), 32, "0")
}
console.log(base2Str(1.0))
//Prints out:
//
// 2^1 * 0.10000000000000000000000000000000000000000000000000000
//
`
``
npm install double-bits
`javascript`
var db = require("double-bits")
*
n is an IEEE754 double numberReturns An array,
[lo,hi] encoding n$3
Returns the lower order word of n*
n is an IEEE754 numberReturns The lower order word of
n$3
Returns the higher order word of n*
n is an IEEE754 numberReturns The higher order word of
n$3
Given a pair of lower/higher order words, concatenate them into a 64 bit double precision number*
lo is the lower order word
* hi is the higher order wordReturns An IEEE754 double precision number formed by concatenating the bits of
lo and hi$3
Returns the state of the sign bit of n*
n is an IEEE754 double precision numberReturns The sign bit of
n$3
Returns the exponent of n*
n is an IEEE754 double precision numberReturns The exponent of
n$3
Returns the fractional part of n*
n is an IEEE754 double precision numberReturns The fractional part of
n encoded as a pair of numbers, [lo,hi] where lo is a 32 bit integer and hi is a 21 bit integer.$3
Test if a double is denormalized.*
n is a numberReturns
true if n is denormal, false` otherwise