Bitwise Programming

Switching gears, let’s examine an unrelated, esoteric topic—bitwise programming with bitwise operators. This discussion was too obscure for Chapter 5, but we’ll cover it now for experienced programmers and braver beginners.

In order to track and manipulate a series of options in a highly optimized way, we can use the bitwise operators. Technically, the bitwise operators are mathematical operators, but they’re typically used in a logical, not mathematical, context. Bitwise operators can access the individual binary digits (bits ) in an integer. To understand how this works, you need to know how numbers are represented in binary format.

A binary number is stored as a sequence of ones and zeros that represent the number in the base-2 number system (i.e., the binary system). Each column in a number represents the base of the number system to some power. Binary uses the number 2 as its base, so the first four columns of a binary number represent, from right to left, the 1’s column (20), the 2’s column (21), the 4’s column (22), and the 8’s column (23). Here are some sample binary numbers with explanations of how their column values can be used to calculate their base-10 (decimal) equivalent:

1 // The base-10 number 1: (1 x 1) is 1 10 // The base-10 number 2: (1 x 2) + (0 x 1) is 2 11 // The base-10 number 3: (1 x 2) + (1 x 1) is 3 100 // The base-10 number 4: (1 x 4) + (0 x 2) + (0 x 1) is 4 1000 // The base-10 number 8: (1 x 8) + (0 x 4) + (0 x 2) + (0 x 1) is 8 1001 ...

Get ActionScript: The Definitive Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.