<jupyter_start><jupyter_text>2 - Passer d'un système à l'autre : Phase 4 :A l'aide du tableau ci-dessous convertir les entiers décimaux de la colonne de gauche en binaire :| dec\bin | $128$ | $64$  | $32$  | $16$  |  $8$  |  $4$  |  $2$  |  $1$  ||---------|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:|| $1$     |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $2$     |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $3$     |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $4$     |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $5$     |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $6$     |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $7$     |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $8$     |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $9$     |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $10$    |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $11$    |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $12$    |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $13$    |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $14$    |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $15$    |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $16$    |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $20$    |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $50$    |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $100$   |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $200$   |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  || $255$   |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |  $_$  |Afin de vérifier votre travail, dans les cellules suivantes, réalisez progressivement un script qui renvoie la représentation binaire des nombres entiers positifs allant de $0$ à $255$.Commencez par chercher de l'aide quant à la fonction **`bin()`**...Finalisez votre programme pour qu'il génère un tableau comme ci-dessus au format Markdown...<jupyter_code>help('bin')
for nombre in range (0,256) :
    print(f"La représentation binaire de l'entier positif décimal {nombre} est " + bin(nombre))
print("| décimal | binaire |")
print("|:--------|--------:|")
for nombre in range (0,256) :
    print(f"| ${nombre}$ | " + bin(nombre) + " |")<jupyter_output><empty_output><jupyter_text>| décimal | binaire ||:--------|--------:|| $0$ | 0b0 || $1$ | 0b1 || $2$ | 0b10 || $3$ | 0b11 || $4$ | 0b100 || $5$ | 0b101 || $6$ | 0b110 || $7$ | 0b111 || $8$ | 0b1000 || $9$ | 0b1001 || $10$ | 0b1010 || $11$ | 0b1011 || $12$ | 0b1100 || $13$ | 0b1101 || $14$ | 0b1110 || $15$ | 0b1111 || $16$ | 0b10000 || $17$ | 0b10001 || $18$ | 0b10010 || $19$ | 0b10011 || $20$ | 0b10100 || $21$ | 0b10101 || $22$ | 0b10110 || $23$ | 0b10111 || $24$ | 0b11000 || $25$ | 0b11001 || $26$ | 0b11010 || $27$ | 0b11011 || $28$ | 0b11100 || $29$ | 0b11101 || $30$ | 0b11110 || $31$ | 0b11111 || $32$ | 0b100000 || $33$ | 0b100001 || $34$ | 0b100010 || $35$ | 0b100011 || $36$ | 0b100100 || $37$ | 0b100101 || $38$ | 0b100110 || $39$ | 0b100111 || $40$ | 0b101000 || $41$ | 0b101001 || $42$ | 0b101010 || $43$ | 0b101011 || $44$ | 0b101100 || $45$ | 0b101101 || $46$ | 0b101110 || $47$ | 0b101111 || $48$ | 0b110000 || $49$ | 0b110001 || $50$ | 0b110010 || $51$ | 0b110011 || $52$ | 0b110100 || $53$ | 0b110101 || $54$ | 0b110110 || $55$ | 0b110111 || $56$ | 0b111000 || $57$ | 0b111001 || $58$ | 0b111010 || $59$ | 0b111011 || $60$ | 0b111100 || $61$ | 0b111101 || $62$ | 0b111110 || $63$ | 0b111111 || $64$ | 0b1000000 || $65$ | 0b1000001 || $66$ | 0b1000010 || $67$ | 0b1000011 || $68$ | 0b1000100 || $69$ | 0b1000101 || $70$ | 0b1000110 || $71$ | 0b1000111 || $72$ | 0b1001000 || $73$ | 0b1001001 || $74$ | 0b1001010 || $75$ | 0b1001011 || $76$ | 0b1001100 || $77$ | 0b1001101 || $78$ | 0b1001110 || $79$ | 0b1001111 || $80$ | 0b1010000 || $81$ | 0b1010001 || $82$ | 0b1010010 || $83$ | 0b1010011 || $84$ | 0b1010100 || $85$ | 0b1010101 || $86$ | 0b1010110 || $87$ | 0b1010111 || $88$ | 0b1011000 || $89$ | 0b1011001 || $90$ | 0b1011010 || $91$ | 0b1011011 || $92$ | 0b1011100 || $93$ | 0b1011101 || $94$ | 0b1011110 || $95$ | 0b1011111 || $96$ | 0b1100000 || $97$ | 0b1100001 || $98$ | 0b1100010 || $99$ | 0b1100011 || $100$ | 0b1100100 || $101$ | 0b1100101 || $102$ | 0b1100110 || $103$ | 0b1100111 || $104$ | 0b1101000 || $105$ | 0b1101001 || $106$ | 0b1101010 || $107$ | 0b1101011 || $108$ | 0b1101100 || $109$ | 0b1101101 || $110$ | 0b1101110 || $111$ | 0b1101111 || $112$ | 0b1110000 || $113$ | 0b1110001 || $114$ | 0b1110010 || $115$ | 0b1110011 || $116$ | 0b1110100 || $117$ | 0b1110101 || $118$ | 0b1110110 || $119$ | 0b1110111 || $120$ | 0b1111000 || $121$ | 0b1111001 || $122$ | 0b1111010 || $123$ | 0b1111011 || $124$ | 0b1111100 || $125$ | 0b1111101 || $126$ | 0b1111110 || $127$ | 0b1111111 || $128$ | 0b10000000 || $129$ | 0b10000001 || $130$ | 0b10000010 || $131$ | 0b10000011 || $132$ | 0b10000100 || $133$ | 0b10000101 || $134$ | 0b10000110 || $135$ | 0b10000111 || $136$ | 0b10001000 || $137$ | 0b10001001 || $138$ | 0b10001010 || $139$ | 0b10001011 || $140$ | 0b10001100 || $141$ | 0b10001101 || $142$ | 0b10001110 || $143$ | 0b10001111 || $144$ | 0b10010000 || $145$ | 0b10010001 || $146$ | 0b10010010 || $147$ | 0b10010011 || $148$ | 0b10010100 || $149$ | 0b10010101 || $150$ | 0b10010110 || $151$ | 0b10010111 || $152$ | 0b10011000 || $153$ | 0b10011001 || $154$ | 0b10011010 || $155$ | 0b10011011 || $156$ | 0b10011100 || $157$ | 0b10011101 || $158$ | 0b10011110 || $159$ | 0b10011111 || $160$ | 0b10100000 || $161$ | 0b10100001 || $162$ | 0b10100010 || $163$ | 0b10100011 || $164$ | 0b10100100 || $165$ | 0b10100101 || $166$ | 0b10100110 || $167$ | 0b10100111 || $168$ | 0b10101000 || $169$ | 0b10101001 || $170$ | 0b10101010 || $171$ | 0b10101011 || $172$ | 0b10101100 || $173$ | 0b10101101 || $174$ | 0b10101110 || $175$ | 0b10101111 || $176$ | 0b10110000 || $177$ | 0b10110001 || $178$ | 0b10110010 || $179$ | 0b10110011 || $180$ | 0b10110100 || $181$ | 0b10110101 || $182$ | 0b10110110 || $183$ | 0b10110111 || $184$ | 0b10111000 || $185$ | 0b10111001 || $186$ | 0b10111010 || $187$ | 0b10111011 || $188$ | 0b10111100 || $189$ | 0b10111101 || $190$ | 0b10111110 || $191$ | 0b10111111 || $192$ | 0b11000000 || $193$ | 0b11000001 || $194$ | 0b11000010 || $195$ | 0b11000011 || $196$ | 0b11000100 || $197$ | 0b11000101 || $198$ | 0b11000110 || $199$ | 0b11000111 || $200$ | 0b11001000 || $201$ | 0b11001001 || $202$ | 0b11001010 || $203$ | 0b11001011 || $204$ | 0b11001100 || $205$ | 0b11001101 || $206$ | 0b11001110 || $207$ | 0b11001111 || $208$ | 0b11010000 || $209$ | 0b11010001 || $210$ | 0b11010010 || $211$ | 0b11010011 || $212$ | 0b11010100 || $213$ | 0b11010101 || $214$ | 0b11010110 || $215$ | 0b11010111 || $216$ | 0b11011000 || $217$ | 0b11011001 || $218$ | 0b11011010 || $219$ | 0b11011011 || $220$ | 0b11011100 || $221$ | 0b11011101 || $222$ | 0b11011110 || $223$ | 0b11011111 || $224$ | 0b11100000 || $225$ | 0b11100001 || $226$ | 0b11100010 || $227$ | 0b11100011 || $228$ | 0b11100100 || $229$ | 0b11100101 || $230$ | 0b11100110 || $231$ | 0b11100111 || $232$ | 0b11101000 || $233$ | 0b11101001 || $234$ | 0b11101010 || $235$ | 0b11101011 || $236$ | 0b11101100 || $237$ | 0b11101101 || $238$ | 0b11101110 || $239$ | 0b11101111 || $240$ | 0b11110000 || $241$ | 0b11110001 || $242$ | 0b11110010 || $243$ | 0b11110011 || $244$ | 0b11110100 || $245$ | 0b11110101 || $246$ | 0b11110110 || $247$ | 0b11110111 || $248$ | 0b11111000 || $249$ | 0b11111001 || $250$ | 0b11111010 || $251$ | 0b11111011 || $252$ | 0b11111100 || $253$ | 0b11111101 || $254$ | 0b11111110 || $255$ | 0b11111111 |  3- Implémenter votre convertisseur décimale => binaire personnel : Phase 8 :A partir des algorithmes de conversion établis précédemment, implémenter en Python un convertisseur décimal -> binaire en binôme chacun selon une des deux méthodes étudiées, vérifier que chacun de vos scripts produit le même résultat que la méthode python **``bin()``** produit. a) Version par division successives :<jupyter_code>nombre = int(input('Saisir un nombre entier positif en base 10 : '))
reponse =""
quotient = nombre
while quotient != 0 :
    reste = quotient % 2
    reponse = str(reste) + reponse
    quotient = quotient // 2
print(f"La représentation binaire de l'entier positif décimal {nombre} est 0b{reponse}")
print(f"La fonction bin({nombre}) renvoie {bin(nombre)}")<jupyter_output>Saisir un nombre entier positif en base 10 : 22
La représentation binaire de l'entier positif décimal 22 est 0b10110
La fonction bin(22) renvoie 0b10110<jupyter_text>b) Version par soustractions successives :<jupyter_code>nombre_saisie = int(input('Saisir un nombre entier positif en base 10 : '))
rang = 0
nombre = nombre_saisie
# recherche du rang maximum du nombre
while nombre >= 2 ** (rang+1) :
    rang = rang +1
#print(rang)

reponse=""
if nombre == 0 :
    reponse = "0"
    
while nombre != 0 :
    if nombre == 2 ** rang :
        reponse = reponse + "1" + "0" * rang
        break
    elif nombre > 2 ** rang :
        reponse = reponse + "1"
        nombre = nombre - 2 ** rang
    else :
        reponse = reponse + "0"
    rang = rang -1
#print(reponse)
print(f"La représentation binaire de l'entier positif décimal {nombre_saisie} est 0b{reponse}")
print(f"La fonction bin({nombre_saisie}) renvoie {bin(nombre_saisie)}")<jupyter_output>Saisir un nombre entier positif en base 10 : 22
La représentation binaire de l'entier positif décimal 22 est 0b10110
La fonction bin(22) renvoie 0b10110
{'fraction_non_alphanumeric': 0.23413835448219403, 'fraction_numerical': 0.2903192795742939, 'mean_word_length': 3.04177005789909, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 4, 'word_list_counts': {'cursed_substrings.json': 42, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '3', 'dir': 'jupyter-structured-clean-dedup', 'id': '216338', 'license': 'MIT', 'n_tokens_mistral': 6295, 'n_tokens_neox': 4381, 'n_words': 867, 'path': 'Sequence_1/Binaire-Elements_De_Correction.ipynb', 'repo_name': '0aipnt08u31/B1', 'size': '9772'}