music |

| | # OSdata.com |

# decimal numbers

## summary

Decimal numbers are typically represented as binary coded decimals (BCDs), other than on some early decimal computers (and even often then).

The basic pattern is to store the decimal digits zero (0) to nine (9) in four binary bits. The extra binary combinations possible with four bits (decimal numbers 10, 11, 12, 13, 14, and 15 -or- hexadecimal numbers A, B, C, D, E, and F) are not used. The next higher order decimal digit is stored in the next higher order four binary bits.

Many CISC-style computers include BCD as a hardware supported data type, although usually with only a limited number of arithmetic operations.

### stub section

This subchapter is a stub section. It will be filled in with instructional material later. For now it serves the purpose of a place holder for the order of instruction.

Professors are invited to give feedback on both the proposed contents and the propsed order of this text book. Send commentary to Milo, PO Box 1361, Tustin, California, 92781, USA.

# decimal numbers

Decimal numbers are typically represented as binary coded decimals (BCDs), other than on some early decimal computers (and even often then).

The basic pattern is to store the decimal digits zero (0) to nine (9) in four binary bits. The extra binary combinations possible with four bits (decimal numbers 10, 11, 12, 13, 14, and 15 -or- hexadecimal numbers A, B, C, D, E, and F) are not used. The next higher order decimal digit is stored in the next higher order four binary bits.

Many CISC-style computers include BCD as a hardware supported data type, although usually with only a limited number of arithmetic operations.

C does not have a decimal format.

**Fixed Decimal** declarations:

**type of data:** coded arithmetic (Binary Coded Decimal, packed two decimal digits to a single 8-bit byte)

**S/360, S/370 data format:** packed decimal

**default precision:** five (5) decimal digits

**maximum precision:** 15 decimal digits

**example:**

`DECLARE DOLLAR_AMOUNT FIXED DECIMAL (9,2) INIT (100.00);`

May be declared as `FIXED`, `FIXED DECIMAL`, or `DECIMAL FIXED`.

First number in declaration is the total number of stored digits. Second number in declaration (optional) is the number of digits to the right of an implied decimal point. If the second number is zero or left out, then the number is an integer.

Fixed decimal is more efficient if the precision is declared as an odd number of digits (because of extra code generated to guarantee that the last half of an even number of decimal digits remains zero). Numbers too large to fit into the specified storage will be truncated. Numbers too small to fill the entire storage space will be zero-filled.

# free music player coding example

**Coding example:** I am making heavily documented and explained open source code for a method to play music for free — almost any song, no subscription fees, no download costs, no advertisements, all completely legal. This is done by building a front-end to YouTube (which checks the copyright permissions for you).

**View music player in action:** www.musicinpublic.com/.

**Create your own copy** from the original source code/ (presented for learning programming).

Because I no longer have the computer and software to make PDFs, the book is available as an HTML file, which you can convert into a PDF.

Names and logos of various OSs are trademarks of their respective owners.