quello che intendo dire è che se tu dividi due interi ottieni un intero... che poi tu voglia mettere questo risultato in un double sono affari tuoi ma lui mette dentro interi... prova... metti qualche serial.print e poi mi sai dire perchè io ho penso il peggior simulatore del pianeta ed il leonardo non ce l'ho mai sotto mano.
quindi
se i = 2 e fai d = 1/d non hai d = 0.5 ma... 0... perchè lui prima fa una divisione tra interi con risultato appunto 0 e poi il risultato lo sposta su d... ecco ora l'ho spiegato meglio: spero di non aver detto una cazzata ma mi pare di no.