toInt32

Convert an unsigned 32-bit integer to a signed 32-bit integer.

Usage

var uint32ToInt32 = require( '@stdlib/number/uint32/base/to-int32' );

uint32ToInt32( x )

Converts an unsigned 32-bit integer to a signed 32-bit integer.

var float64ToUint32 = require( '@stdlib/number/float64/base/to-uint32' );

var y = uint32ToInt32( float64ToUint32( 4294967295 ) );
// returns -1

y = uint32ToInt32( float64ToUint32( 3 ) );
// returns 3

Examples

var randu = require( '@stdlib/random/base/randu' );
var MAX_UINT32 = require( '@stdlib/constants/math/uint32-max' );
var float64ToUint32 = require( '@stdlib/number/float64/base/to-uint32' );
var uint32ToInt32 = require( '@stdlib/number/uint32/base/to-int32' );

var uint32;
var int32;
var i;

for ( i = 0; i < 100; i++ ) {
    // Generate a random unsigned 32-bit integer:
    uint32 = float64ToUint32( randu()*MAX_UINT32 );

    // Convert the unsigned integer to a signed 32-bit integer:
    int32 = uint32ToInt32( uint32 );

    console.log( 'uint32: %d => int32: %d', uint32, int32 );
}