Pseudodegrees Used in BGL

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.