konto usunięte

Temat: Integer.toBinaryString(value) usuwa 0 na początku...

Użyłem Integer.toBinaryString do przeliczania wartości całkowitej na binarną, ale nie jestem zadowolony z efektu.
W algorytmie genetycznym długość chromosomu jest określana na podstawie przestrzeni wartości jakie ten powinien móc przechowywać, więc gdy rozwiązania mieszczą się w przestrzeni 3 bitów, to gdy wartość całkowita chromosomu wynosi 1 to bitowa wynosi 001 a nie 1.
Funkcja mi obcina 0 przed 1
Istnieje jakaś funkcja która tego nie robi?

konto usunięte

Temat: Integer.toBinaryString(value) usuwa 0 na początku...

Metoda działa zgodnie z ogólnie przyjętymi standardami i to jest jak najbardziej OK, że obcina Ci te zera. Pozostaje napisanie własnej metody, która to obsługuje. Nieroby z SUN'a nie dały możliwości definiowania długości chromosomu :)

konto usunięte

Temat: Integer.toBinaryString(value) usuwa 0 na początku...

Błażej Kępa:
Nieroby z SUN'anie dały możliwości definiowania długości chromosomu :)
słuszna uwaga ;]q Q. edytował(a) ten post dnia 02.12.09 o godzinie 16:08

konto usunięte

Temat: Integer.toBinaryString(value) usuwa 0 na początku...

q Q.:
Użyłem Integer.toBinaryString do przeliczania wartości całkowitej na binarną, ale nie jestem zadowolony z efektu.
W algorytmie genetycznym długość chromosomu jest określana na podstawie przestrzeni wartości jakie ten powinien móc przechowywać, więc gdy rozwiązania mieszczą się w przestrzeni 3 bitów, to gdy wartość całkowita chromosomu wynosi 1 to bitowa wynosi 001 a nie 1.
Funkcja mi obcina 0 przed 1
Istnieje jakaś funkcja która tego nie robi?

int zadanaDlugoscBitowa = 3;
StringBuilder sb = new StringBuilder().append("00000000000000000").append(Long.toBitString(var));
String str = sb.toString();
str = str.substring(str.length-zadanaDlugoscBitowa);

Pisane bez kompilatora. Ale rozumiesz ideę;)
Tomasz Cejner

Tomasz Cejner Senior Responsive
Agile Polyglot
Developer

Temat: Integer.toBinaryString(value) usuwa 0 na początku...

Jeśli "nieroby z SUN-a" coś przeoczyły, to na 99,9% zostało to uwzględnione w Apache Commons (Lang) :-)

PS

Proszę: StringUtils.leftPadTomasz Cejner edytował(a) ten post dnia 15.12.09 o godzinie 21:26

Następna dyskusja:

Algorytm dodawania liter do...




Wyślij zaproszenie do