FLOAT64_HIGH_WORD_ABS_MASK
High word mask for excluding the sign bit of a double-precision floating-point number.
Usage
var FLOAT64_HIGH_WORD_ABS_MASK = require( '@stdlib/constants/float64/high-word-abs-mask' );
FLOAT64_HIGH_WORD_ABS_MASK
High word mask for excluding the sign bit of a double-precision floating-point number.
// 0x7fffffff = 2147483647 => 0 11111111111 11111111111111111111
var bool = ( FLOAT64_HIGH_WORD_ABS_MASK === 0x7fffffff );
// 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 getLowWord = require( '@stdlib/number/float64/base/get-low-word' );
var fromWords = require( '@stdlib/number/float64/base/from-words' );
var FLOAT64_HIGH_WORD_ABS_MASK = require( '@stdlib/constants/float64/high-word-abs-mask' );
var x = -11.5;
var hi = getHighWord( x ); // 1 10000000010 01110000000000000000
// returns 3223781376
// Turn off the sign bit and leave other bits unchanged:
var out = hi & FLOAT64_HIGH_WORD_ABS_MASK; // 0 10000000010 01110000000000000000
// returns 1076297728
// Generate a new value:
out = fromWords( out, getLowWord( x ) );
// returns 11.5
C APIs
Usage
#include "stdlib/constants/float64/high_word_abs_mask.h"
STDLIB_CONSTANT_FLOAT64_HIGH_WORD_ABS_MASK
Macro for the high word mask for excluding the sign bit of a double-precision floating-point number.