Salve ragazzi!
Sono qui con un nuovo problema, dovrei creare un piccolo programmino in assembly che, dato un intero n, mi calcoli il massimo intero naturale k tale che la somma dei primi k termini dispari partendo da 1 sia minore di n.
es: n=5. (1+3=4 che è minore di 5, 1 e 3 sono 2, 1+3+5= 9 che è maggiore di 5 quindi il ciclo termina)=====> k=2.
Fino a quando il numero n è compreso tra 0 e 9 non ho avuto problemi. Ma se volessi inserire valori a due, o tre cifre? avevo pensato di fare inserire le cifre del numero in un vettore e a seconda della posizione moltiplicare il numero per 10 o 100.
es: voglio scrivere 32, mi salvo il 3 ed il 2, moltiplico il 3 per 10 e ci sommo 2. 30+2=32
Il problema di questo mio ragionamento è che dovrei ragionare in esadecimale, infatti se volessi scrivere dieci e faccio 1*10 il risultato non è 10 ma 0A come è giusto che sia.
Quindi la domanda che vi pongo è:
come fare?