Search results
Results from the WOW.Com Content Network
In computer science, the double dabble algorithm is used to convert binary numbers into binary-coded decimal (BCD) notation. [ 1 ] [ 2 ] It is also known as the shift-and-add -3 algorithm , and can be implemented using a small number of gates in computer hardware, but at the expense of high latency .
The final conversion is from binary to decimal fractions. The only difficulty arises with repeating fractions, but otherwise the method is to shift the fraction to an integer, convert it as above, and then divide by the appropriate power of two in the decimal base. For example:
In the decimal encoding, it is encoded as a series of p decimal digits (using the densely packed decimal (DPD) encoding). This makes conversion to decimal form efficient, but requires a specialized decimal ALU to process. In the binary integer decimal (BID) encoding, it is encoded as a binary number.
In a hexadecimal system, there are 16 digits, 0 through 9 followed, by convention, with A through F. That is, a hexadecimal "10" is the same as a decimal "16" and a hexadecimal "20" is the same as a decimal "32". An example and comparison of numbers in different bases is described in the chart below.
This means that numbers that appear to be short and exact when written in decimal format may need to be approximated when converted to binary floating-point. For example, the decimal number 0.1 is not representable in binary floating-point of any finite precision; the exact binary representation would have a "1100" sequence continuing endlessly:
For example, the smallest positive number that can be represented in binary64 is 2 −1074; contributions to the −1074 figure include the emin value −1022 and all but one of the 53 significand bits (2 −1022 − (53 − 1) = 2 −1074). Decimal digits is the precision of the format expressed in terms of an equivalent number of decimal digits.
If errors in representation and computation are more important than the speed of conversion to and from display, a scaled binary representation may be used, which stores a decimal number as a binary-encoded integer and a binary-encoded signed decimal exponent. For example, 0.2 can be represented as 2 × 10 −1.
Binary-coded decimal (BCD) is a binary encoded representation of integer values that uses a 4-bit nibble to encode decimal digits. Four binary bits can encode up to 16 distinct values; but, in BCD-encoded numbers, only ten values in each nibble are legal, and encode the decimal digits zero, through nine.