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( 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 );
    }
}
Did you find this page helpful?