@stdlib/number-float32-base-from-word
v0.2.2
Published
Create a single-precision floating-point number from an unsigned integer corresponding to an IEEE 754 binary representation.
Downloads
282
Readme
fromWordf
Create a single-precision floating-point number from an unsigned integer corresponding to an IEEE 754 binary representation.
Installation
npm install @stdlib/number-float32-base-from-word
Usage
var fromWordf = require( '@stdlib/number-float32-base-from-word' );
fromWordf( word )
Creates a single-precision floating-point number from an unsigned integer
corresponding to an IEEE 754 binary representation.
var word = 1068180177; // => 0 01111111 01010110010001011010001
var f32 = fromWordf( word ); // when printed, implicitly promoted to float64
// returns 1.3370000123977661
Notes
The equivalent of this function in C/C++,
float fromWordf(unsigned int x) { return *(float*)&x; }
Examples
var randu = require( '@stdlib/random-base-randu' );
var round = require( '@stdlib/math-base-special-round' );
var MAX_UINT32 = require( '@stdlib/constants-uint32-max' );
var fromWordf = require( '@stdlib/number-float32-base-from-word' );
var word;
var f32;
var i;
// Create single-precision floating-point numbers from unsigned integers...
for ( i = 0; i < 1000; i++ ) {
word = round( randu()*MAX_UINT32 );
f32 = fromWordf( word );
console.log( 'word: %d => float32: %d', word, f32 );
}
C APIs
Usage
#include "stdlib/number/float32/base/from_word.h"
stdlib_base_float32_from_word( word, *x )
Creates a single-precision floating-point number from an unsigned 32-bit integer corresponding to an IEEE 754 binary representation.
#include <stdint.h>
uint32_t word = 1078523331;
float x;
stdlib_base_float32_from_word( word, &x );
The function accepts the following arguments:
- word:
[in] uint32_t
input word. - x:
[out] float*
destination for a single-precision floating-point number.
void stdlib_base_float32_from_word( const uint32_t word, float *x );
Examples
#include "stdlib/number/float32/base/from_word.h"
#include <stdint.h>
#include <stdio.h>
int main( void ) {
uint32_t word = 1078523331;
float x;
int i;
for ( i = 0; i < 10; i++ ) {
stdlib_base_float32_from_word( word+(uint32_t)(i*10), &x );
printf( "word: %u => %f\n", word, x );
}
}
See Also
@stdlib/number-float64/base/from-words
: create a double-precision floating-point number from a higher order word and a lower order word.
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.