To wygodne! Czy istnieje podobna metoda na długie okresy?
Tyler Treat
46
@ ttreat31: Nie mam na myśli, żeby zabrzmiało to złośliwie, ale naprawdę powinieneś mieć dokumentację (w tym przypadku JavaDoc) pod ręką, kiedy programujesz. Nie powinieneś pytać: czy ich metoda jest podobna przez długi czas; powinno zająć Ci to sprawdzenie, niż wpisanie komentarza.
Lawrence Dol
5
@Jack czy istnieje sposób, aby uzyskać ciąg binarny w stałej liczbie bitów, np. Dziesiętne 8 w 8-bitowych binarnych, które 00001000
Jeszcze jeden sposób - Używając java.lang.Integer , możesz uzyskać reprezentację ciągu pierwszego argumentu iw radix (Octal - 8, Hex - 16, Binary - 2)określonym przez drugi argument.
Integer.toString(i, radix)
Przykład_
privatevoid getStrtingRadix(){// TODO Auto-generated method stub/* returns the string representation of the
unsigned integer in concern radix*/System.out.println("Binary eqivalent of 100 = "+Integer.toString(100,2));System.out.println("Octal eqivalent of 100 = "+Integer.toString(100,8));System.out.println("Decimal eqivalent of 100 = "+Integer.toString(100,10));System.out.println("Hexadecimal eqivalent of 100 = "+Integer.toString(100,16));}
Wynik_
Binary eqivalent of 100=1100100Octal eqivalent of 100=144Decimal eqivalent of 100=100Hexadecimal eqivalent of 100=64
Jeśli nie chcesz używać wbudowanej funkcji do konwersji int na binarną, możesz również zrobić to:
import java.util.*;publicclassIntToBinary{publicstaticvoid main(String[] args){Scanner d =newScanner(System.in);int n;
n = d.nextInt();StringBuilder sb =newStringBuilder();while(n >0){int r = n%2;
sb.append(r);
n = n/2;}System.out.println(sb.reverse());}}
Najprostszym podejściem jest sprawdzenie, czy liczba jest nieparzysta. Jeśli tak, to z definicji najbardziej wysunięta na prawo liczba binarna to „1” (2 ^ 0). Po ustaleniu tego przesuwamy nieco liczbę w prawo i sprawdzamy tę samą wartość za pomocą rekursji.
Możesz również użyć pętli while, aby przekonwertować int na binarny. Lubię to,
import java.util.Scanner;publicclassIntegerToBinary{publicstaticvoid main(String[] args){int num;String str ="";Scanner sc =newScanner(System.in);System.out.print("Please enter the a number : ");
num = sc.nextInt();while(num >0){int y = num %2;
str = y + str;
num = num /2;}System.out.println("The binary conversion is : "+ str);
sc.close();}}
Istnieje również metoda java.lang.Integer.toString (int i, int base) , która byłaby bardziej odpowiednia, gdyby Twój kod pewnego dnia obsługiwał bazy inne niż 2 (binarne).
źródło
źródło
Jeszcze jeden sposób - Używając java.lang.Integer , możesz uzyskać reprezentację ciągu pierwszego argumentu
i
wradix (Octal - 8, Hex - 16, Binary - 2)
określonym przez drugi argument.Przykład_
Wynik_
źródło
źródło
To jest coś, co napisałem kilka minut temu, po prostu wygłupiając się. Mam nadzieję, że to pomoże!
}
źródło
Konwertuj liczbę całkowitą na binarną:
Wynik:
Wpisz liczbę całkowitą:
10
Liczba binarna: 1010
źródło
Korzystanie z funkcji wbudowanej:
Jeśli nie chcesz używać wbudowanej funkcji do konwersji int na binarną, możesz również zrobić to:
źródło
Najprostszym podejściem jest sprawdzenie, czy liczba jest nieparzysta. Jeśli tak, to z definicji najbardziej wysunięta na prawo liczba binarna to „1” (2 ^ 0). Po ustaleniu tego przesuwamy nieco liczbę w prawo i sprawdzamy tę samą wartość za pomocą rekursji.
źródło
oto moje metody, to trochę przekonuje, że liczba bajtów została naprawiona
źródło
Korzystanie z przesunięcia bitowego jest trochę szybsze ...
źródło
Można to wyrazić w pseudokodzie jako:
źródło
Naprawdę powinieneś użyć Integer.toBinaryString () (jak pokazano powyżej), ale jeśli z jakiegoś powodu chcesz własnego:
źródło
Powinno to być dość proste w przypadku czegoś takiego:
źródło
Możesz również użyć pętli while, aby przekonwertować int na binarny. Lubię to,
Źródło i odniesienie - przekonwertuj int na binarny w przykładzie java .
źródło
źródło