Skip To Content

Bitwise Left Shift

Available with Spatial Analyst license.

Available with Image Analyst license.

Summary

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

Learn more about how Bitwise Math tools work

Illustration

Bitwise Left Shift illustration
OutRas = BitwiseLeftShift(InRas1, 1)

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 Left Shift operation does no wrapping of bits. The leftmost bit is dropped.

  • 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

BitwiseLeftShift (in_raster_or_constant1, in_raster_or_constant2)
ParameterExplanationData 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 be able 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 be able to specify a number for both inputs, the cell size and extent must first be set in the environment.

Raster Layer; Constant

Return Value

NameExplanationData Type
out_raster

The output raster.

The cell values are the result of a Bitwise Left Shift operation on the inputs.

Raster

Code sample

BitwiseLeftShift example 1 (Python window)

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

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outBitwiseLS = BitwiseLeftShift("degs", "negs")
outBitwiseLS.save("C:/sapyexamples/output/outbitls.tif")
BitwiseLeftShift example 2 (stand-alone script)

This example left-shifts the values of the first input by the number of bits defined by the second input.

# Name: BitwiseLeftShift_Ex_02.py
# Description: Performs a Bitwise Left 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 BitwiseLeftShift
outBitwiseLShift = BitwiseLeftShift(inRaster1, inRaster2)

# Save the output 
outBitwiseLShift.save("C:/sapyexamples/output/outlshift")

Licensing information

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

Related topics