Binary Scaling - Binary Angles

Binary Angles

Binary angles are mapped using B0, with 0 as 0 degrees, 0.5 as 90 (or ), −1.0 or 0.9999999 as 180 (or π) and −0.5 as 270 (or ). When these binary angles are added using normal two's complement mathematics the rotation of the angles is correct, even when crossing the sign boundary (this of course does away with checks for angle ≥ 360 when handling normal degrees).

The terms Binary Angular Measurement System (BAMS) and brads (binary radians) refer to implementations of binary angles. They find use in robotics, navigation, computer games, digital sensors and weapons system's digital communications Binary angles may be thought of as the fractional part of an angle when expressed in units of turn.

No matter what bit-pattern is stored in a binary angle, when it is multiplied by 360 (or 2π) using standard signed fixed-point arithmetic, the result is always a valid angle in the range of -180 degrees (-π radians) to +180 degrees (+π radians). In some cases, it is convenient to use unsigned multiplication (rather than signed multiplication) on a binary angle, which gives the correct angle in the range of 0 to +360 degrees (+2π radians). Compared to storing angles in a binary angle format, storing angles in any other format inevitably results in some bit patterns giving "angles" outside that range, requiring extra steps to range-reduce the value to the desired range, or results in some bit patterns that are not valid angles at all (NaN), or both.

Read more about this topic:  Binary Scaling