# Bitwise Rotation > Bitwise rotation to the right.
## Usage ```javascript var rotr32 = require( '@stdlib/number/uint32/base/rotr' ); ``` #### rotr32( x, shift ) Performs a bitwise rotation to the right. ```javascript var toBinaryStringUint32 = require( '@stdlib/number/uint32/base/to-binary-string' ); var x = 2147483649; var bstr = toBinaryStringUint32( x ); // returns '10000000000000000000000000000001' var y = rotr32( x, 10 ); // returns 6291456 bstr = toBinaryStringUint32( y ); // returns '00000000011000000000000000000000' ```
## Notes - If provided a `shift` equal to `0`, the function returns the input value. ```javascript var y = rotr32( 3, 0 ); // returns 3 ``` - If provided a `shift` greater than `31`, the function performs a bitwise rotation based on the `5` least significant bits of `shift` (i.e., `shift % 32`). ```javascript var shift = 34; // 00000000000000000000000000100010 var y = rotr( 1, shift ); // 01000000000000000000000000000000 // returns 1073741824 ```
## Examples ```javascript var toBinaryStringUint32 = require( '@stdlib/number/uint32/base/to-binary-string' ); var MAX_INT = require( '@stdlib/constants/uint32/max' ); var rotr32 = require( '@stdlib/number/uint32/base/rotr' ); var HALF; var x; var y; var i; for ( i = 0; i < 100; i++ ) { x = i; y = rotr32( x, 10 ); console.log( '%d => %s => %s => %d', x, toBinaryStringUint32( x ), toBinaryStringUint32( y ), y ); } HALF = (MAX_INT+1) / 2; for ( i = 0; i < 100; i++ ) { x = HALF + i; y = rotr32( x, 10 ); console.log( '%d => %s => %s => %d', x, toBinaryStringUint32( x ), toBinaryStringUint32( y ), y ); } ```