GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Processing
  • Download
  • Reference
  • Environment
  • Libraries
  • Tools
  • Wiki
  • Tutorials
  • Examples
  • Books
  • Forum
  • Overview
  • People
  • Privacy

This view

  • Original page
  • New address

GeezerVison is showing processing.org — << (left shift) / Reference

Reference+
Documentation→Reference→Math→Bitwise Operators

Name

<< (left shift)

Description

Shifts bits to the left. The number to the left of the operator is shifted the number of places specified by the number to the right. Each shift to the left doubles the number, therefore each left shift multiplies the original number by 2. Use the left shift for fast multiplication or to pack a group of numbers together into one larger number. Left shifting only works with integers or numbers which automatically convert to an integer such at byte and char.

Examples

  • int m = 1 << 3;   // In binary: 1 to 1000
    println(m);  // Prints "8"
    int n = 1 << 8;   // In binary: 1 to 100000000
    println(n);  // Prints "256"
    int o = 2 << 3;   // In binary: 10 to 10000
    println(o);  // Prints "16"
    int p = 13 << 1;  // In binary: 1101 to 11010
    println(p);  // Prints "26"
    
  • // Packs four 8 bit numbers into one 32 bit number
    int a = 255;  // Binary: 00000000000000000000000011111111
    int r = 204;  // Binary: 00000000000000000000000011001100
    int g = 204;  // Binary: 00000000000000000000000011001100
    int b = 51;   // Binary: 00000000000000000000000000110011
    a = a << 24;  // Binary: 11111111000000000000000000000000
    r = r << 16;  // Binary: 00000000110011000000000000000000
    g = g << 8;   // Binary: 00000000000000001100110000000000
    
    // Equivalent to "color argb = color(r, g, b, a)" but faster
    color argb = a | r | g | b;
    fill(argb);
    rect(30, 20, 55, 55);
    

Syntax

  • value << n

Parameters

  • valueint: the value to shift
  • nint: the number of places to shift left

Related

  • rightshift
Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.