Bitwise Right Shift (Spatial Analyst)

Available with Spatial Analyst license.

Available with Image Analyst license.

Summary

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

Usage

• Two inputs are necessary for this bitwise operation to take place.

• The order of inputs is relevant for this tool.

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

• In bitwise operations:

• Binary values are stored in two's complement.
• The tools work on 32-bit integers.
• The leftmost bit position is reserved 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, or one of the inputs is a constant, the output will be a multiband raster. The number of bands in each multiband input must be the same.

• The tool will perform the operation on each band from one input against the corresponding band from the other input. If one of the inputs is a multiband raster and the other input is a constant, the tool will perform the operation against the constant value for each band in the multiband input.

• In Map Algebra, the equivalent operator symbol for this tool is ">>" (link).

• See Analysis environments and Spatial Analyst for additional details on the geoprocessing environments that apply to this tool.

Syntax

`BitwiseRightShift(in_raster_or_constant1, in_raster_or_constant2)`
 Parameter Explanation Data Type in_raster_or_constant1 The input on which to perform the shift.A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To specify a number for both inputs, the cell size and extent must first be set in the environment. Raster Layer; Constant in_raster_or_constant2 The input defining the number of positions to shift the bits.A number can be used as an input for this parameter, provided a raster is specified for the other parameter. To specify a number for both inputs, the cell size and extent must first be set in the environment. Raster Layer; Constant

Return Value

 Name Explanation Data Type out_raster The output raster.The cell values are the result of a Bitwise Right Shift operation on the inputs. Raster

Code sample

BitwiseRightShift example 1 (Python window)

This example right-shifts the values of the first input by the number of bits defined by the second input, and outputs the result as a Grid raster.

``````import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outBitwiseRShift = BitwiseRightShift("degs", "negs")
outBitwiseRShift.save("C:/sapyexamples/output/outbitrs")``````
BitwiseRightShift example 2 (stand-alone script)

This example right-shifts the values of the first input by the number of bits defined by the second input, and outputs the result as an IMG raster.

``````# Name: BitwiseRightShift_Ex_02.py
# Description: Performs a Bitwise Right Shift operation on the binary
#              values of two input rasters
# Requirements: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inRaster1 = "degs"
inRaster2 = "negs"

# Execute BitwiseRightShift
outBitwiseRShift = BitwiseRightShift(inRaster1, inRaster2)

# Save the output
outBitwiseRShift.save("C:/sapyexamples/output/outbitrshift.img")``````

Licensing information

• Basic: Requires Spatial Analyst or Image Analyst
• Standard: Requires Spatial Analyst or Image Analyst
• Advanced: Requires Spatial Analyst or Image Analyst