preview: (i skieruje mod
jako %
)
Podobnie jak w 1%3
robimy (int) 1/3
który jest 0
, a potem zapytać: ile dodać w celu uzyskania 1
?
odpowiedź brzmi: 1.
tak 1%3=1
.
Patrząc na 10^-9 % 10^9
użyjmy kolejne numery, dla jasności:
2^-3 % 2^3
najpierw calc wartość całkowitą odchylenia:
2^-3/2^3 = 1/(2^3 * 2^3) = 1/64
jak widać jest to niewielka liczba
więc int część 0.
tak - ile by dodać w celu uzyskania 2^-3
? to prawda: 2^-3
dotyczące dokładnej pytanie:
Moja interpretacja: - 10^-9/10^9 = 1/10^18 Więc odpowiedź = 1.
1/10^18
Rzeczywiście.
co to jest część całkowita? a zero.
od tego zera, ile potrzebujemy dodać, aby uzyskać -1
?
yup, -1
.
postępuj zgodnie z zasadami Modulo.
najpierw znajdź odchylenie całkowite. a następnie zapytaj: ile musimy dodać, aby dostać się do licznika.
edit:
do sytuacji, w której licznik> mianownik
7 % 5 = > 7 /5 => 1.4 => .4 go to hell = > you're left with 1.
ale uprzedzenia.
to 1 razy 5.
ok więc od 1 razy 5 - ile trzeba, aby przejść do 7? tak: 2.
bardziej zaawansowane:
3.111 %2 = > 3.111/2 = > 1.5555 => .555 go to hell => you're left with 1.
ale to 1 czasy 2.
Tak więc od 1 razy 2 - ile trzeba, aby przejść do 3.111? tak 1.111
Co do Twojego pytania "fmod": [Co każdy programista powinien wiedzieć o arytmetyki zmiennoprzecinkowej] (http://floating-point-gui.de). – usr2564301
@Jongware Piszę program, więc potrzebuję jasnego obrazu tego, co dzieje się wewnątrz programu. To nie pomaga. Każda inna pomoc? – unixia
'%' nie jest operatorem zmiennoprzecinkowym –