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

Sprawdzanie parzystości liczby bez modulo

Object Storage Arubacloud
+1 głos
3,583 wizyt
pytanie zadane 6 października 2016 w C i C++ przez Arek Użytkownik (510 p.)
Witam,

Mam kłopot z programem który sprawdzał by parzystość liczby. Program ten miałby nie korzystać z operatora %. Wymyśliłem coś takiego:

1.zamienienie liczby dziesiętnej na binarną

2.sprawdzenie czy na końcu liczby binarnej znajduję się 0 czy 1

3. wypisanie odpowiedzi

Problem w tym, że nie wiem jak w języku C wykonać konwersję z int do chara po czym odczytać ostatnią cyfrę powstałej liczby binarnej.

Dziękuje z góry za wszystkie odpowiedzi.
1
komentarz 6 października 2016 przez webkam Bywalec (2,840 p.)

Mam kłopot z programem który sprawdzał by parzystość liczby. Program ten miałby nie korzystać z operatora %

A dlaczego tak? Nudzi Ci się? :) 

3 odpowiedzi

+5 głosów
odpowiedź 6 października 2016 przez LisekPL Bywalec (2,920 p.)
wybrane 6 października 2016 przez Arek
 
Najlepsza
Najprościej by było podzielić liczbę przez 2 a następnie pomnożyć razy 2. Jeśli wynik będzie równy liczbie początkowej to liczba jest parzysta.

Bo jeśli podzielisz przez dwa i wyjdzie ułamek to reszta po przecinku zostanie ucięta i po ponownym wymnożeniu wyjdzie liczba o 1 mniejsza.
1
komentarz 6 października 2016 przez Arek Użytkownik (510 p.)
Dzięki, to jest o wiele lepsze rozwiązanie, nie pomyślałem w ogóle o tej zależności.
0 głosów
odpowiedź 6 października 2016 przez Patrycjerz Mędrzec (192,320 p.)

A po co ci konwersja int na char? Podpowiem jedynie, żebyś skorzystał z operatorów bitowych, dokładniej z operatora iloczynu logicznego.

komentarz 6 października 2016 przez Eryk Andrzejewski Mędrzec (164,260 p.)
Hah, miałem to napisać, ale mnie wyprzedziłeś :)
0 głosów
odpowiedź 6 października 2016 przez criss Mędrzec (172,590 p.)

Konwersja: wystarczy dodać 48 ('0'): https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/ASCII-Table-wide.svg/2000px-ASCII-Table-wide.svg.png

Chodzi ci oczwyiście o konwersje np. z 0 na '0', tak?

Podobne pytania

0 głosów
2 odpowiedzi 797 wizyt
pytanie zadane 11 maja 2016 w C i C++ przez Evelek Nałogowiec (28,960 p.)
+1 głos
1 odpowiedź 1,834 wizyt
pytanie zadane 13 kwietnia 2021 w C i C++ przez Zuzanna Nowicjusz (160 p.)
–4 głosów
4 odpowiedzi 694 wizyt
pytanie zadane 6 stycznia 2021 w C i C++ przez radekflis999 Nowicjusz (160 p.)

92,552 zapytań

141,399 odpowiedzi

319,534 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...