The term pseudodegrees is used throughout BGL documentation. In practical terms, using pseudodegrees means letting a binary byte, word, or multiprecision word’s full binary range represent the values between 0–360 degrees, as shown in the following table.
Field width | Range decimal | Range hexadecimal |
Precision (degrees/unit) |
Byte | 0–255 | 00–0ffh | 1.40625 |
Word | 0–65535 | 0000–0ffffh | .0055 |
Double word | 0–4294967296 | 00000000–0ffffffffh | .000000083 |
48-bit | 0–2.8 10**14 | 000000000000–0ffffffffffffh | 1.28 10**-12 |
One advantage to using pseudodegrees is that it's a very natural way to represent a circle. Just as a circle’s degree measurement wraps back around to 0 past 359.999 degrees, a binary number wraps around to 0 when its range is maximized. Because the full range of the field’s representation is used to represent the complete 360-degree circle, pseudodegrees are the most precise measure possible in any given binary field.
Using pseudodegrees also works out very nicely from a magnitude representation (0–359 degrees) or a signed representation (-180–179 degrees) standpoint, corresponding to 0–65535 or -32768–32767, respectively. Just as the degree values wrap around at the 179–-180 degree transition, so, too, do the pseudodegree values at the 32767–-32768 transition. Using pseudodegrees makes internal computation in Flight Simulator easier to implement, faster, and more precise.