2015-06-29 6 views

Odpowiedz

12

parseInt(number, base) zwroty dziesiętny wartość liczby przedstawione przez number parametru w base podstawy.

A 11 to 3 w systemie liczb binarnych.

+3

tj. 11 w systemie binarnym to 3 w systemie dziesiętnym.;-) – RobG

+1

Na początku, gdy czytam dokumentację, pierwszy wiersz stwierdza: "funkcja analizuje ciąg znaków i zwraca liczbę całkowitą" nie "zwraca dziesiętnie" Określa tylko to dalej w dokumentacji w opisie. Ale dzięki. –

32

Zastosowanie toString() zamiast parseInt:

11..toString(2) 
var str = "11"; 
var bin = (+str).toString(2); 
console.log(bin) 

Według dokumentacji JavaScript w:

Poniższe przykłady wszystkim powrót NaN:

parseInt("546", 2); // cyfry nie są ważne dla reprezentacji binarnych

+1

super rozwiązanie dla mojego problemu. 'new Number (str) .toString (2)' robi to samo, byłoby jednak bardziej wyraźne. Jako wyjaśnienie: metoda toString "Numer", która akceptuje podstawę i wyprowadza numer w innej reprezentacji: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toString - Operator '+' rzuca łańcuch na liczbę. – Husterknupp

2

Funkcja parseInt() analizuje argument łańcuchowy i zwraca liczbę całkowitą określonej podstawy (baza w matematycznych systemach liczbowych).

Więc mówisz systemowi, który chcesz przekonwertować 11, jako binarny do dziesiętnego.

Jeśli chodzi o stronę, do której się odnosisz, jeśli przyjrzysz się bliżej, faktycznie używasz JS do wydania HTTP GET, aby przekonwertować go po stronie serwera WWW. Coś takiego jak następuje:

http://www.binaryhexconverter.com/hesapla.php?fonksiyon=dec2bin&deger=11&pad=false

+0

11 jako binarny jest nadal liczbą całkowitą. –

+0

Przepraszam, mam na myśli dziesiętny, zmieniony –

6

Jak stwierdzono w documentation for parseInt: parseInt(), funkcja analizuje argument ciąg i zwraca całkowitą określonego radix (podstawa w matematycznych systemów liczbowych).

Robi dokładnie to, co powinien: konwertując binarną wartość 11 na wartość całkowitą 3.

Jeśli próbujesz konwertować wartość całkowitą 11 do wartości binarnej niż trzeba użyć metody Number.toString:

console.log(11..toString(2)); // 1011 
+0

Tak, rozumiem, zwraca liczbę całkowitą. Heksy mogą być również liczbami całkowitymi, a także liczbami binarnymi i liczbami ósemkowymi, a liczba całkowita to liczba całkowita. To, co należy powiedzieć na górze dokumentacji, znajduje się w sekcji opis: "zwróconą wartością będzie dziesiętna liczba całkowita reprezentująca pierwszy argument przyjęty jako liczba w podanej podstawce (baza)." –

+0

@RobertRocha , to jest nieprawidłowe. Liczba całkowita jest tylko podzbiorem wartości dziesiętnych, które mogą być reprezentowane w postaci binarnej, ósemkowej, szesnastkowej itd. –

+0

Masz rację, właśnie to sprawdziłem: http://dictionary.reference.com/browse/integer?s=t –