Skip To Content

Bitwise Right Shift function

Available with Image Server

Performs a Bitwise Right Shift operation on the binary values of two input rasters.

Bitwise Right Shift illustration
Bitwise Right Shift InRas1 by a constant of 1.

Notes

Two inputs are necessary for this function to execute.

The order of the inputs is irrelevant for this function.

If an input is floating-point data type, the values are converted to integer values through truncation before the bitwise operation is performed.

All bitwise operations have the following in common:

  • Binary values are stored in two's complement.
  • The tools work on 32-bit integers.
  • The leftmost bit position is reversed for the sign (positive or negative) of the value. If the integer is positive, the bit position is 0; if it's negative, the bit position is 1.

The Bitwise Right Shift operation does no wrapping of bits. The rightmost bit is dropped.

If both inputs are single band rasters, or one of the inputs is a constant, the output will be a single band raster.

If both inputs are multiband rasters, the function will perform the operation on each band from one input, and the output will be a multiband raster. The number of bands in each multiband input must be the same.

If one of the inputs is a multiband raster and the other input is a constant, the function will perform the operation against the constant value for each band in the multiband input, and the output will be a multiband raster.

If both inputs are multidimensional rasters with same number of variables, the function will perform the operation for all slices with same dimension value, and the output will be a multidimensional raster. The variables in the inputs must have same dimensions or a common dimension but no uncommon dimensions.

If one of the inputs is a multidimensional raster and the other input is a constant, the function will perform the operation for all slices for all variables against the constant value, and the output will be a multidimensional raster.

Parameters

Parameter nameDescription

Raster

The input on which to perform the shift.

A constant value can be used as an input for this parameter, provided a raster is specified for the other parameter.

Raster2

The input defining the number of positions to shift the bits.

A constant value can be used as an input for this parameter, provided a raster is specified for the other parameter.

Extent Type

Choose which extent should be used in the output raster:

  • First Of—Use the extent of the first input raster to determine the processing extent.

  • Intersection Of—Use the extent of the overlapping pixels to determine the processing extent. This is the default.
  • Union Of—Use the extent of all the rasters to determine the processing extent.
  • Last Of—Use the extent of the last input raster to determine the processing extent.

Cellsize Type

Choose which cell size to use in the output raster. If all the input cell sizes are the same, all the options will yield the same results.

  • First Of—Use the first cell size of the input rasters.
  • Min Of—Use the smallest cell size of all the input rasters.
  • Max Of—Use the largest cell size of all the input rasters. This is the default.
  • Mean Of—Use the mean cell size of all the input rasters.
  • Last Of—Use the last cell size of the input rasters.

Learn more about bitwise

The bitwise tools evaluate the binary representation of the input values on a pixel-by-pixel basis. For each bit in the binary representation, a Boolean operation is performed.

The logic of how the various bitwise tools operate is illustrated in the following sections. The arrows are used to indicate the flow of operation of how input values are converted to a base2 binary representation, analyzed, and returned as a decimal (base10) value.

Learn more about how Bitwise Right Shift works

The arrows in the following illustration demonstrate that the input values are first converted to their binary representation, the bitwise logic is applied to each pair of bits that represent those values, and the values are finally converted back to a decimal representation.

For Bitwise Right Shift, the value for each bit is shifted to the right by the number of bit positions specified in the second input. The value that is assigned to the farthest right bit is lost. The effect of a right shift by one bit position is a division by two with truncation.

Bitwise Left and Right Shift example
This is a Bitwise Left and Right Shift example.

Note:

If any of the input pixel values is NoData, the output value will be NoData.