Dzień dobry.
Mógłbym prosić o podpowiedź jak bez użycia wbudowanych funkcji czy operatorów, zamienić liczbę hex zapisaną jako string, na liczbę dziesiętną.
0
1
Jes taka metoda w stringu jak "at(index)" , wyświetla ona dany index w stringu. Mając tą informacje robisz według wzoru:
7DE = (7 * 16^2) + (13 * 16^1) + (14 * 16^0)
Jeszcze fajnie by było gdybyś zrobił sobie tablice(mapę/słownik itp.) od 0 do F , wtedy wiemy, że E jest 14 indeksem więc możemy to zapisać (14 * 16^0)
0
Po prostu, Zaczynasz od najmniej znaczacej cyfry I Mnozysz przez rosnace potegi zesnastu, jednoczesnie sumujac. A to 10, B, 11, itd.
0×23 = 3 + 2×16
0
7DE = (7 * 16^2) + (13 * 16^1) + (14 * 16^0)
czyli:
x=16
a=7,b=13,c=14
=> ax^2 + bx+c
- to już możesz szybko obliczyć korzystając z algorytmu Hornera:
https://en.wikipedia.org/wiki/Horner%27s_method
def horner(x, *polynomial):
"""A function that implements the Horner Scheme for evaluating a
polynomial of coefficients *polynomial in x."""
result = 0
for coefficient in polynomial:
result = result * x + coefficient
return result