# -*- coding: utf-8 -*-
"""
Created on Fri Jun 12 06:01:55 2026

@author: pjaub
"""

def binaire(n):
    L = []
    while n > 0:
        L.append(n % 2)
        n //= 2
    return L

n = 12
print(binaire(n))


def base(b, n):
    L = []
    while n > 0:
        L.append(n % b)
        n = n // b
    return L

n = 100
print(base(16, n))


def base_inverse(b, L):
    n = 0
    for k in range(len(L)):
        n += L[k]*b**k
    return n

n = 100
L = base(16, n)
print(L)
a = base_inverse(16, L)
print(a)


def horner(b, L):
    n = L[-1]
    for k in range(len(L)-2,-1,-1):
        n = L[k] + b * n
    return n

n = 100
L = base(16, n)
print(L)
a = horner(16, L)
print(a)

chiffres = "0123456789ABCDEF"

def rang(c):
    for k in range(16):
        if c == chiffres[k]:
            return k
    return None

def horner_chaine(chaine):
    n = rang(chaine[0])
    for k in range(1, len(chaine)):
        n = rang(chaine[k]) + 16*n
    return n

chaine = "1A3"
print(horner_chaine(chaine))


def hexadecimal(n):
    s = ''
    while n > 0:
        s = chiffres[n%16] + s
        n = n//16
    return s

n = 419
print(hexadecimal(n))





