@stdlib/constants-float64-high-word-sign-mask
v0.2.1
Published
High word mask for the sign bit of a double-precision floating-point number.
Downloads
1,331,229
Readme
FLOAT64_HIGH_WORD_SIGN_MASK
High word mask for the sign bit of a double-precision floating-point number.
Installation
npm install @stdlib/constants-float64-high-word-sign-mask
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
- 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_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.
Notice
This package is part of stdlib, a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more.
For more information on the project, filing bug reports and feature requests, and guidance on how to develop stdlib, see the main project repository.
Community
License
See LICENSE.
Copyright
Copyright © 2016-2024. The Stdlib Authors.