5.1. Representing Numbers in Different Bases

Problem

You want to specify a value as a binary, octal, or hexadecimal number.

Solution

Hexadecimal literals start with 0X or 0x (where the first character is a zero, not an “oh”), and octal literals start with 0 (again, zero, not “oh”). Binary numbers can’t be represented directly, but you can specify their octal or hexadecimal equivalent.

Discussion

You can represent numbers in ActionScript using whichever format is most convenient, such as decimal or hexadecimal notation. For example, if you set the value of the MovieClip ._rotation property, it is most convenient to use a decimal number:

myMovieClip._rotation = 180;

On the other hand, hexadecimal numbers are useful for specifying RGB colors. For example, you can set the RGB value for a Color object in hexadecimal notation (in this example, 0xF612AB is a hex number representing a shade of pink):

myColor = new Color(myMovieClip);
myColor.setRGB(0xF612AB);

Any numeric literal starting with 0X or 0x is presumed to be a hexadecimal number (a.k.a. hex or base-16). Allowable digits in a hexadecimal number are 0-9 and A-F (both uppercase and lowercase letters are allowed).

Any numeric literal starting with 0, but not 0x or 0X, is presumed to be an octal number (a.k.a. base-8). Allowable digits in an octal number are 0-7. For example, 0777 is an octal number. Most developers don’t ever use octal numbers in ActionScript.

The only digits allowed in binary numbers (a.k.a. base-2) are 0 and 1. Although ...

Get Actionscript Cookbook 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.