2.4 KiB
2.4 KiB
Significand Mask
High word mask for the significand of a double-precision floating-point number.
Usage
var FLOAT64_HIGH_WORD_SIGNIFICAND_MASK = require( '@stdlib/constants/float64/high-word-significand-mask' );
FLOAT64_HIGH_WORD_SIGNIFICAND_MASK
High word mask for the significand of a double-precision floating-point number.
// 0x000fffff = 1048575 => 0 00000000000 11111111111111111111
var bool = ( FLOAT64_HIGH_WORD_SIGNIFICAND_MASK === 0x000fffff );
// returns true
Notes
- The higher order word of a double-precision floating-point number is a 32-bit integer containing the more significant bits which include the exponent and sign.
Examples
var getHighWord = require( '@stdlib/number/float64/base/get-high-word' );
var FLOAT64_HIGH_WORD_SIGNIFICAND_MASK = require( '@stdlib/constants/float64/high-word-significand-mask' );
var out;
var hi;
var x;
x = 11.5;
hi = getHighWord( x ); // => 0 10000000010 01110000000000000000
// returns 1076297728
// Mask off all bits except for the significand bits:
out = hi & FLOAT64_HIGH_WORD_SIGNIFICAND_MASK; // => 0 00000000000 01110000000000000000
// returns 458752
// Mask on the significand bits and leave other bits unchanged:
out = hi | FLOAT64_HIGH_WORD_SIGNIFICAND_MASK; // => 0 10000000010 11111111111111111111
// returns 1076887551