|
||
---|---|---|
.. | ||
docs | ||
include/stdlib/number/float32/base | ||
lib | ||
src | ||
binding.gyp | ||
include.gypi | ||
manifest.json | ||
package.json | ||
README.md |
fromWordf
Create a single-precision floating-point number from an unsigned integer corresponding to an IEEE 754 binary representation.
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() {
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 );
}
}