• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

'Kalkulator bitowy' - operacje na bitach

Fiszki IT
Fiszki IT
0 głosów
1,837 wizyt
pytanie zadane 16 listopada 2017 w Java przez Lupusvulpes Nowicjusz (140 p.)

Chciałbym napisać program który wypisze na ekran wartości ciągu bitów danej liczby jako wyliczone odpowiednie potęgi dwójki albo zera. Tj. coś takiego: 

Scanner sc = new Scanner(System.in);
        byte a = sc.nextByte();

Uruchamiam program, podaje np. 5 a program wypisuje

0

4

0

1

Jak można zrobić coś takiego ?

1 odpowiedź

0 głosów
odpowiedź 16 listopada 2017 przez rafal.budzis Maniak (65,460 p.)
Wszystko robisz w pętli. Program powinien posiadać 3 zmienne.

Pierwszą zmienna mnożysz przez dwa będzie oba wyświetlana jeśli bit będzie wskazywał dodatnia wartość.

drugą zmienną jest liczba którą chcesz wyświetlać najłatwiej co przejście pętli wykonywać przesunięcie bitowe co będzie przesuwało bit który chcemy odczytać na pierwszą pozycje. Następnie wykonujemy logiczne AND z liczbą 1 aby pozbyć się wszystkich bitów z wyjątkiem pierwszego. ostatnim krokiem będzie sprawdzenie czy liczba powstała z tych działań równa się 1 czy 0 i wyświetlić odpowiednią wartość.
1
komentarz 17 listopada 2017 przez Mateusz51 Nałogowiec (28,220 p.)
Nie potrzebujesz zmiennej którą wyświetlasz i sprawdzać czy to jest jeden czy zero. Wystarczy że masz maske bitową na początku 0000_0001 a potem tą maskę przesuwasz o jeden w lewo. I AND z taką maską daje Ci potęgę dwójki którą chcesz aktualnie wyświetlić.
komentarz 17 listopada 2017 przez rafal.budzis Maniak (65,460 p.)

Racja @Mateusz51 będzie łatwiej nie pomyślałem :) +

Podobne pytania

0 głosów
1 odpowiedź 162 wizyt
pytanie zadane 14 listopada 2017 w C i C++ przez panstudent Nowicjusz (190 p.)
0 głosów
4 odpowiedzi 388 wizyt
pytanie zadane 5 października 2018 w Java przez Potopiec Obywatel (1,550 p.)
Porady nie od parady
Zadając pytanie postaraj się o szczegółowe opisanie problemu oraz udostępnienie wszystkich istotnych informacji (kody źródłowe, zrzuty ekranu itp.).Opisanie problemu

84,758 zapytań

133,559 odpowiedzi

295,986 komentarzy

56,012 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...