The following list describes some of the caveats and recommendations to consider when you use fixed-point numbers:
- Adding a shift register to a loop that contains Numeric functions that increase the size of fixed-point data can create cycles in the propagation of type information. Overflow can occur as the growing data approaches the maximum word length that LabVIEW accepts or the maximum word length that you specify. If you do not configure how the Numeric functions handle overflow, LabVIEW converts the data to floating-point representation to avoid potential data loss and broken VIs.
- The word length you specify might exceed the maximum word length a target accepts. If this occurs, LabVIEW sets the word length to the maximum possible length and uses the default settings for overflow and rounding. By default, the word length retains the most significant bits. This word length reduction rounds the value but prevents overflow. Refer to the documentation for a target to determine the maximum word length the target accepts.
- LabVIEW and other applications encode fixed-point numbers in binary format, which is a base-2 number system. Because the decimal number system is base-10, you cannot represent all decimal values exactly in fixed-point. For example, you can represent 0.1 exactly in decimal format, but if you convert 0.1 to a fixed-point number with a 32-bit word length and a 16-bit integer word length, LabVIEW changes the rational number to 0.100006, which it can represent in base-2.