javascript funkcja parseint

0

Witam mam pytanie bo nie moge tego zakumać.
Funckja parse int zamienia nam wartosc w liczbe pod warunkiem ze ta liczba istnieje a reszta odcina i to rozumiem, ale nie rozumiem tego:

parseInt(20, 16)

32

parseInt(20, 10)

20

parseInt(10, 2)

2

parseInt("2F", 16)

47

parseInt("2F", 10)

2

parseInt(9, 2)

NaN

itd skad te wyniki się biorą??

0

ok powoli rozumiem, ale mam pytanie jeszcze.
"Opcjonalny argument podstawa pozwala na ustalenie podstawy systemu liczbowego; może on przyjmować wartości od 2 do 36. "
jakim cudem skoro systemy mamy tylko takie 2,8,10,16 to skad od 2-36 wychodzi na to jakby mogła być także liczba 12,14,23 niby jakim cudem?? Może mi ktos odpowiedzieć?

0

jakim cudem skoro systemy mamy tylko takie 2,8,10,16

Nieprawda.
Istnieją systemy liczbowe o dowolnie wielkiej podstawie.

0

a mógłbyś mi wyjasnic to:
parseInt("12", 13);
dlaczego tutaj wynik 15 bo nie moge zalapac tego;/ skad 15 chodzi o to ze 12+3=15 ale to tak mowie intuicyjnie patrzac an to

0

12 w systemie 13, to po przekonwertowaniu 15 w systemie dziesiętnym.

1

15 w systemie dziesiętnym to jedna dziesiątka i 5 jedności
12 w systemie trzynastkowym to jedna trzynastka i 2 jedności czyli 15 dziesiętnie

0

aha czyli droga dedukcji 12 w systemie 14 to 14+2 czyli 16?

0

Em, tak - ale to nie działa w ten sposób dla każdej liczby. Właściwie, to działa tutaj tylko przypadkowo i tylko dla małych liczb.

0

Najlepiej poszukaj artykułów o systemach liczbowych jak je przeliczać itd. najważniejsze to dziesiętny, szesnastkowy, binarny i ósemkowy inne w programowaniu raczej nie grają roli, ale jak załapiesz na czym polegają te to załapiesz też o innej podstawie.

0

Czemu tylko na małych liczbach? Przykład

(15489)14

9*(14)1 + 8*(14)2 + 4*(14)3 + 5*(14)4 + 1*(14)5 = //obliczamy na dziesiętny.

1 użytkowników online, w tym zalogowanych: 0, gości: 1