This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

Name | ## << (left shift) |
||||
---|---|---|---|---|---|

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); | ||||

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. | ||||

Syntax | value << n | ||||

Parameters |
| ||||

Related | >> (right shift) |

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