Double dabble

Double dabble

Le double dabble est un algorithme utilisé pour convertir des nombres d'un système binaire vers un système décimal. Pour des raisons pratiques, le résultat est généralement stocké sous la forme de décimal codé en binaire (BCD).

Principe

On considère un nombre à convertir de n bits qui est initialement stocké dans un registre. La taille du registre est suffisante pour contenir le résultat en BCD, soit n + 4n / 3 bits. On admet deux ensembles dans le registre : les bits constituant le nombre à convertir et le reste des bits qui sont initialement à zéro. Par exemple, avec le nombre 11110011 (243 en base 10), le registre se présenterait au début comme suit :

               ORIGINAL
0000 0000 0000 11110011

La suite de 0 à gauche du nombre va progressivement recevoir le résultat du calcul qui sera codé en BCD. Chaque nibble (4 bits) constitue une décimale, par exemple le nombre 127 est codé comme suit :

 1    2    7
0001 0010 0111

Dans le cas du nombre 243, on s'attend à obtenir ceci à gauche du registre :

 2    4    3
0010 0100 0011 


En partant du registre initial, l'algorithme effectue n itérations (soit 8 dans l'exemple). À chaque itération, le registre est décalé d'un bit vers la gauche. Avant d'effectuer cette opération, la partie au format BCD est analysée, décimale par décimale. Si une décimale en BCD (4 bits) est plus grande que 4 alors on lui ajoute 3. Cette incrément permet de s'assurer qu'une valeur de 5, après incrémentation et décalage, devient 16 et se propage correctement à la décimale suivante.

Les étapes complètes dans le cas de 243 :

0000 0000 0000 11110011      Initialisation
0000 0000 0001 11100110      Décalage
0000 0000 0011 11001100      Décalage
0000 0000 0111 10011000      Décalage
0000 0000 1010 10011000      Ajouter 3 à la première décimale BCD, puisque sa valeur était 7
0000 0001 0101 00110000      Décalage
0000 0001 1000 00110000      Ajouter 3 à la première décimale BCD, puisque sa valeur était 5
0000 0011 0000 01100000      Décalage
0000 0110 0000 11000000      Décalage
0000 1001 0000 11000000      Ajouter 3 à la seconde décimale BCD, puisque sa valeur était 6
0001 0010 0001 10000000      Décalage
0010 0100 0011 00000000      Décalage

Au total, 8 décalages ont été effectués et la partie de droite s'est vidée. À gauche du registre, on obtient le résultat en BCD comme attendu :

 2    4    3
0010 0100 0011 00000000

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Double dabble de Wikipédia en français (auteurs)

Игры ⚽ Нужно решить контрольную?

Regardez d'autres dictionnaires:

  • Double dabble — In computer science, the double dabble algorithm is used to convert binary numbers into decimal (in particular, binary coded decimal, or BCD, notation). The algorithm operates as follows: Suppose the original number to be converted is stored in a …   Wikipedia

  • List of mathematics articles (D) — NOTOC D D distribution D module D D Agostino s K squared test D Alembert Euler condition D Alembert operator D Alembert s formula D Alembert s paradox D Alembert s principle Dagger category Dagger compact category Dagger symmetric monoidal… …   Wikipedia

  • Binary-coded decimal — In computing and electronic systems, binary coded decimal (BCD) is a digital encoding method for numbers using decimal notation, with each decimal digit represented by its own binary sequence. In BCD, a numeral is usually represented by four bits …   Wikipedia

  • Bitwise operation — In computer programming, a bitwise operation operates on one or two bit patterns or binary numerals at the level of their individual bits. On most microprocessors, bitwise operations are sometimes slightly faster than addition and subtraction… …   Wikipedia

  • Bubble Babble — In computing, Bubble Babble is a binary data encoding designed by Antti Huima.This encoding uses alternation of consonants and vowels to encode binary data to pseudowords that can be pronounced more easily than arbitrary lists of hexadecimal… …   Wikipedia

  • Beverly Lewis — is a Christian fiction novelist and children s author of over 70 books.She was born Beverly Marie Jones, and is a a former schoolteacher and musician. She started playing the piano at age 5, and began writing short stories and poetry when she was …   Wikipedia

  • Gadget Boy & Heather — infobox television show name = Gadget Boy caption = format = Animated series runtime = 30 minutes creator = starring = country = France network = M6 (France) First run syndication (United States)| Gadget Boy Heather (also known as Gadget Boy ) is …   Wikipedia

  • The Man from U.N.C.L.E. — THRUSH redirects here. For other uses, see Thrush (disambiguation). The Man from U.N.C.L.E. Genre Spy fi Format …   Wikipedia

  • No Light, No Light — Single by Florence + the Machine from the album Ceremonials Recorded Abbey Road Studios Genre Baroque pop, ar …   Wikipedia

  • Hakeem Olajuwon — No. 34, 15 Center Personal information Date of birth January 21, 1963 (1963 01 21) (age 48) …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”