String i uzupełnienie bitów

0

Witam....

Mam pewien plik z którego odczytuje wartości int. Następnie za pomocą String a = Integer.toBinaryString(u); przerabiam na bity. Wypisując dane System.out.println(a); mozna zauważyć że na konsole wyrzuca bajt i przechodzi do następnej linijki itd aż do końca pliku . jednakże gdy jest sytuacja np. 11011 to na konsole wyrzuca tylko te 5 bitów a pozostałe najstarsze (które w tym przypadku są zerami) pomija. Chciałem się was zapytać jak zrobić żeby zawsze pokazywało 8 bitów niezależnie od wartości tych najstarszych bitów...Troche może dziwaczne pytanie ale potrzebne mi jest to ponieważ chce połączyć dwa sąsiadujące ze sobą bajty (najlepiej wrzucić do tablicy bądź do kolekcji) i odwrócić kolejność bitów.

Pozdrawiam.. :)

0

toBinaryString chyba nie ma opcji dodania "leading zeros", wiec musisz je dopisac samemu.

Np. tak:
binary1 to twoj rezultat, a binary2 to oczekiwany rezultat

public class Test
	{
	public static void main(String[] args)
		{
		int liczba = 10;
		String binary1 = Integer.toBinaryString(liczba);
		String binary2 = Integer.toBinaryString(liczba | 0x100).substring(1);
		
		System.out.println("binary1: " + binary1 + " / binary2: " + binary2);
		}
	}

PS. Bedzie dzialac prawidlowo tylko na liczbach 0-255, ale zakladam ze przycinanie do 8 bitow oznacza, ze z takim zakresem masz do czynienia.

0

dokładniejszej odpowiedzi nie mogłem sobie wywróżyć :) dzięki :)

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