Jak sprawdzić, czy liczba jest parzysta, sprawdzając ostatni bit?

Jak sprawdzić, czy liczba jest parzysta, sprawdzając ostatni bit?
ME
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam,
Chcialbym sprawdzac czy liczba jest parzysta, ale nie za pomoca reszty z dzielenia przez 2 tylko za pomoca sprawdzenia czy ostatni bit jest ustawiny czy nie. Jednak nie potrafie rozwiazac tego problemu, poszukiwania w internecie tez nic mi nie daly liczby.
Wydaje mi sie, ze mozna to rozwiazac za pomoca prostych operatorow bitowych (czuje, ze moze to byc XOR ^), ale troche bladze na slepo wiec nic nie wychodzi. :)

Dlatego prosilbym o pomoc.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
1

o_O

Kopiuj
if((liczba & 1) == 1){
//ostatni bit ustawiony
}

edit: zapomniałem o konwersji ;)

ME
  • Rejestracja: dni
  • Ostatnio: dni
0

Chodzi mi o jezyk JAVA. Wyprobowalem to rozwiazanie jednak w tym jezyku wyrazenie w ifie musi byc boolean. Wiec wychodzi blad. :(

Kopiuj
if(i & 1) 
    System.out.print("Parzysta.\n");
else 
    System.out.println("Nieparzysta");

Błąd:

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Type mismatch: cannot convert from int to boolean

at Problem02.main(Problem02.java:9)

dodanie znacznika <code class="java">, <quote> dla treści błędów + zmniejszenie wcięć - fp

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
3

Myśl :P

Kopiuj
if((i & 1) != 0)
ME
  • Rejestracja: dni
  • Ostatnio: dni
0

No tak. Dzieki za szybka odpowiedz.

Pozdrawiam. :]

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.