FLOAT64_HIGH_WORD_SIGN_MASK

High word mask for the sign bit of a double-precision floating-point number.

Usage

var FLOAT64_HIGH_WORD_SIGN_MASK = require( '@stdlib/constants/float64/high-word-sign-mask' );

FLOAT64_HIGH_WORD_SIGN_MASK

High word mask for the sign bit of a double-precision floating-point number.

// 0x80000000 = 2147483648 => 1 00000000000 00000000000000000000
var bool = ( FLOAT64_HIGH_WORD_SIGN_MASK === 0x80000000 );
// returns true

Notes

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_SIGN_MASK = require( '@stdlib/constants/float64/high-word-sign-mask' );

var x = -11.5;
var hi = getHighWord( x ); // 1 10000000010 01110000000000000000
// returns 3223781376

// Mask off all bits except for the sign bit:
var out = (hi & FLOAT64_HIGH_WORD_SIGN_MASK)>>>0; // 1 00000000000 00000000000000000000
// returns 2147483648

// Turn off the sign bit and leave other bits unchanged:
out = hi & (~FLOAT64_HIGH_WORD_SIGN_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_sign_mask.h"

STDLIB_CONSTANT_FLOAT64_HIGH_WORD_SIGN_MASK

Macro for the high word mask for the sign bit of a double-precision floating-point number.

Did you find this page helpful?