<br />
<b>Notice</b>:  unserialize(): Error at offset 146 of 1985 bytes in <b>/home/sites/36a/8/83d4f69e32/public_html/support/wiki/includes/cache/localisation/LCStoreDB.php</b> on line <b>55</b><br />
<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/sites/36a/8/83d4f69e32/public_html/support/wiki/includes/cache/localisation/LocalisationCache.php</b> on line <b>422</b><br />
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://mcs.woodward.com/support/wiki/index.php?action=history&amp;feed=atom&amp;title=MotoHawk%3ABlocks%3AFixed_Point_and_B_Numbers</id>
	<title>MotoHawk:Blocks:Fixed Point and B Numbers - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://mcs.woodward.com/support/wiki/index.php?action=history&amp;feed=atom&amp;title=MotoHawk%3ABlocks%3AFixed_Point_and_B_Numbers"/>
	<link rel="alternate" type="text/html" href="http://mcs.woodward.com/support/wiki/index.php?title=MotoHawk:Blocks:Fixed_Point_and_B_Numbers&amp;action=history"/>
	<updated>2026-08-17T14:47:40Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.16</generator>
	<entry>
		<id>http://mcs.woodward.com/support/wiki/index.php?title=MotoHawk:Blocks:Fixed_Point_and_B_Numbers&amp;diff=1917&amp;oldid=prev</id>
		<title>Wendy.Bolakowski: Created page with &quot;=MotoHawk Fixed-Point Values and B-Numbers=  Generally, when designing algorithms, it can help to know a little about how the intended target computer processes certain instru...&quot;</title>
		<link rel="alternate" type="text/html" href="http://mcs.woodward.com/support/wiki/index.php?title=MotoHawk:Blocks:Fixed_Point_and_B_Numbers&amp;diff=1917&amp;oldid=prev"/>
		<updated>2012-07-03T19:59:50Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;=MotoHawk Fixed-Point Values and B-Numbers=  Generally, when designing algorithms, it can help to know a little about how the intended target computer processes certain instru...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=MotoHawk Fixed-Point Values and B-Numbers=&lt;br /&gt;
&lt;br /&gt;
Generally, when designing algorithms, it can help to know a little about how the intended target computer processes certain instructions. This is especially true with embedded control applications, because different target processors can have significantly different processing capabilities.&lt;br /&gt;
&lt;br /&gt;
To this point, a target computer may or may not have a device called a floating-point unit (FPU) that can perform floating-point mathematics very quickly. If the target does not have this FPU, it would not natively support floating-point operations; instead, any floating-point operations would have to be emulated entirely in software and thus would consume demonstrably more precious memory and/or processing time.&lt;br /&gt;
&lt;br /&gt;
The algorithm designer will want to be aware of the respective processing capabilities or limitations of the target, and to design accordingly to avoid allocating the extra memory and/or processing time.  The proper use of basic fixed-point techniques with simple mathematical operations (addition, multiplication, Boolean, etc.), for example, can have a dramatic impact on the efficiency of an application when no FPU is available.&lt;br /&gt;
&lt;br /&gt;
The intent here is to discuss relevant factors in taking processor type into consideration, to address the use of '''fixed-point''' vs. '''floating-point''' mathematics and algorithms, and to describe the use of fixed point operations and &amp;quot;B-Numbers,&amp;quot; in particular, should this be called for.&lt;br /&gt;
&lt;br /&gt;
===Fixed-Point vs. Floating-Point Targets===&lt;br /&gt;
&lt;br /&gt;
The term “fixed-point” often refers to the decimal point being in a fixed location for a given mathematical operation; conversely, “floating-point” implies a variable decimal-point location.&lt;br /&gt;
&lt;br /&gt;
As stated above, some processors have the on-board FPU to perform floating-point mathematics very quickly; others do not, so any floating-point operations can consume demonstrably more memory and/or processing time.  Determine which processor type you are targeting, and then consider whether to use fixed-point or floating-point:&lt;br /&gt;
&lt;br /&gt;
* Floating-point computations are extremely computationally expensive on a fixed-point processor (no FPU).&lt;br /&gt;
* On a floating-point processor, floating-point operations are more efficient with respect to the number of necessary steps (no need to apply scales, offsets, rounding, etc.).&lt;br /&gt;
* Fixed-point data types, of 2 bytes or less, use fewer resources (flash, RAM, EEPROM, etc.) than floating-point data types (which are at least 4 bytes).&lt;br /&gt;
* Floating point can be more convenient and enable quicker development, testing, and debugging (no need to protect for rollover, track scaling and offsets, etc.).&lt;br /&gt;
&lt;br /&gt;
Other factors would include assessment of whether the application is or may become large enough to necessitate use of fixed-point methods to avoid overtaxing the hardware, and whether the target processor hardware might be changed over time and thus add or remove the necessity of fixed-point methods.&lt;br /&gt;
&lt;br /&gt;
===Designing for Fixed-Point Targets===&lt;br /&gt;
&lt;br /&gt;
When developing for a fixed-point processor, the application is limited to integer data types (uint8, int32, etc.). However, there are techniques for managing a decimal points and resolution within a fixed-point algorithm; at some level, all of these approaches employ a gain and offset to translate the raw integer value to an engineering value that the user will observe in MotoTune. One approach uses a binary gain in conjunction with a so-called “B-Number.”&lt;br /&gt;
&lt;br /&gt;
===B-Numbers: A Fixed-Point Approach===&lt;br /&gt;
&lt;br /&gt;
MotoHawk includes a block set intended to perform fixed-point operations, using a particular property called B-Numbers. Currently, all MotoHawk Fixed Point B-Number blocks have output data types of int16. Each B-Number corresponds to a unique resolution (2^BNum / 65536) and range (spanning 65536 possible raw values) as in the table below. Note that there is no offset, so there is a trade-off on resolution for a larger range.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TableMHStyle&amp;quot;&lt;br /&gt;
| class=&amp;quot;TableHeaderTDStyle&amp;quot; colspan=&amp;quot;5&amp;quot; | 16-Bit Scaling&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableHeaderTDStyle&amp;quot; | B-Num&lt;br /&gt;
| class=&amp;quot;TableHeaderTDStyle&amp;quot; | Min Value&lt;br /&gt;
| class=&amp;quot;TableHeaderTDStyle&amp;quot; | Max Value&lt;br /&gt;
| class=&amp;quot;TableHeaderTDStyle&amp;quot; | Range&lt;br /&gt;
| class=&amp;quot;TableHeaderTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | Resolution&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -10&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -0.000976563&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.000976533&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.001953095&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.000000029802322&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -9&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -0.001953125&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.001953065&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.00390619&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.000000059604645&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -8&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -0.00390625&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.003906131&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.007812381&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.000000119209290&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -7&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -0.0078125&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.007812262&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.015624762&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.000000238418579&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -6&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -0.015625&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.015624523&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.031249523&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.000000476837158&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -5&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -0.03125&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.031249046&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.062499046&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.000000953674316&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -4&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -0.0625&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.062498093&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.124998093&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.000001907348633&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -3&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -0.125&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.124996185&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.249996185&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.000003814697266&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -2&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -0.25&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.249992371&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.499992371&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.000007629394531&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -1&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -0.5&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.499984741&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.999984741&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.000015258789063&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -1&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 0.999969482&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 1.999969482&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.000030517578125&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 1&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -2&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 1.999938965&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 3.999938965&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.00006103515625&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 2&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -4&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 3.99987793&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 7.99987793&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.0001220703125&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 3&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -8&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 7.999755859&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 15.99975586&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.000244140625&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 4&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -16&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 15.99951172&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 31.99951172&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.00048828125&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 5&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -32&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 31.99902344&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 63.99902344&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.0009765625&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 6&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -64&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 63.99804688&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 127.9980469&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.001953125&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 7&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -128&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 127.9960938&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 255.9960938&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.00390625&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 8&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -256&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 255.9921875&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 511.9921875&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.0078125&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 9&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -512&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 511.984375&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 1023.984375&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.015625&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 10&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -1024&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 1023.96875&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 2047.96875&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.03125&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 11&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -2048&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 2047.9375&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 4095.9375&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.0625&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 12&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -4096&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 4095.875&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 8191.875&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.125&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 13&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -8192&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 8191.75&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 16383.75&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.25&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 14&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -16384&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 16383.5&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 32767.5&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 0.5&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 15&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -32768&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 32767&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 65535&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 1&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 16&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -65536&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 65534&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 131070&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 2&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 17&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -131072&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 131068&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 262140&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 4&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 18&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -262144&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 262136&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 524280&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 8&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 19&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -524288&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 524272&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 1048560&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 16&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 20&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -1048576&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 1048544&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 2097120&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 32&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 21&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -2097152&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 2097088&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 4194240&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 64&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 22&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -4194304&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 4194176&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 8388480&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 128&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 23&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -8388608&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 8388352&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 16776960&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 256&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 24&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -16777216&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 16776704&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 33553920&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 512&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 25&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | -33554432&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 33553408&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; | 67107840&lt;br /&gt;
| class=&amp;quot;TableTDStyle&amp;quot; style=&amp;quot;width: 216px&amp;quot; | 1024&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
As mentioned previously, each range has 16-bit resolution that is equal to 2^BNum / 65536; thus, the scaling is of a binary type. One advantage of binary scaling over other absolute scalings is that the mathematical operations (as described subsequently) include multiplying/dividing by 2^N factors, which are actually left/right bit shifts and complete faster on the microprocessor than integer multiplies/divides. Another advantage of binary scaling in conjunction with the B-Number method is that certain rules are created that assists the application engineer in mathematical operations and preventing overflow.&lt;br /&gt;
&lt;br /&gt;
[[Image:Bnum-01b.png]]&lt;br /&gt;
&lt;br /&gt;
==Operation Rules==&lt;br /&gt;
&lt;br /&gt;
In order to use fixed points for math operations, certain rules apply:&lt;br /&gt;
&lt;br /&gt;
* '''Addition / Subtraction:''' To add/subtract, ensure the operands have the same B-Number. Note that overflow may occur; unless the design inherently prevents overflow, use a MotoHawk Fixed Point Scale block to pre-shift the operands to a higher B-Number (to increase range) prior to the operation.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:Bnum-04b.png]]&lt;br /&gt;
* '''Multiplication''' (using a Motohawk Fixed Point Multiply block): The result has a B-Number equal to the sum of the B-Numbers of the operands, plus 1. Note that this rule inherently protects against overflow; no pre-shifting is necessary. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:Bnum-02b.png]]&lt;br /&gt;
* '''Division''' (using a MotoHawk Fixed Point Division block): The result has a B-Number equal to the difference between the B-Numbers of the numerator and the denominator, minus 1. Note that because the denominator can approach or equal 0, overflow may occur; the design must protect against this by limiting the minimum value of the denominator and/or using a MotoHawk Fixed Point Scale block to pre-shift the numerator to a higher B-Number prior to the operation.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:Bnum-03b.png]]&lt;br /&gt;
* '''Relational Operators'''&amp;lt;nowiki&amp;gt;: When using relational operators, ensure the operands have the same B-Number.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:Bnum-05b.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Wendy.Bolakowski</name></author>
		
	</entry>
</feed>