time-to-botec/squiggle/node_modules/@stdlib/number/uint32/base/to-binary-string/README.md
NunoSempere b6addc7f05 feat: add the node modules
Necessary in order to clearly see the squiggle hotwiring.
2022-12-03 12:44:49 +00:00

3.4 KiB

Binary String

Return a string giving the literal bit representation of an unsigned 32-bit integer.

Usage

var toBinaryString = require( '@stdlib/number/uint32/base/to-binary-string' );

toBinaryString( x )

Returns a string giving the literal bit representation of an unsigned 32-bit integer.

var Uint32Array = require( '@stdlib/array/uint32' );

var a = new Uint32Array( [ 1, 4, 9 ] );

var str = toBinaryString( a[0] );
// returns '00000000000000000000000000000001'

str = toBinaryString( a[1] );
// returns '00000000000000000000000000000100'

str = toBinaryString( a[2] );
// returns '00000000000000000000000000001001'

Notes

  • Except for typed arrays, JavaScript does not provide native user support for unsigned 32-bit integers. According to the ECMAScript standard, number values correspond to double-precision floating-point numbers. While this function is intended for unsigned 32-bit integers, the function will accept floating-point values and represent the values as if they are unsigned 32-bit integers. Accordingly, care should be taken to ensure that only nonnegative integer values less than 4,294,967,296 (2^32) are provided.

    var str = toBinaryString( 1 );
    // returns '00000000000000000000000000000001'
    
    str = toBinaryString( 4 );
    // returns '00000000000000000000000000000100'
    
    str = toBinaryString( 9 );
    // returns '00000000000000000000000000001001'
    
    str = toBinaryString( 4294967295 );
    // returns '11111111111111111111111111111111'
    

Examples

var randu = require( '@stdlib/random/base/randu' );
var round = require( '@stdlib/math/base/special/round' );
var Uint32Array = require( '@stdlib/array/uint32' );
var toBinaryString = require( '@stdlib/number/uint32/base/to-binary-string' );

var x;
var y;
var b;
var i;

// Generate random unsigned 32-bit integers...
x = new Uint32Array( 100 );
for ( i = 0; i < x.length; i++ ) {
    x[ i ] = round( randu()*1.0e5 );
}

// Convert unsigned 32-bit integers to literal bit representations...
for ( i = 0; i < x.length; i++ ) {
    b = toBinaryString( x[i] );
    y = parseInt( b, 2 );
    console.log( 'x: %d, b: %s, y: %d', x[i], b, y );
}