• 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

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
+1 głos
3,901 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 1,095 wizyt
pytanie zadane 11 maja 2016 w C i C++ przez Evelek Nałogowiec (28,960 p.)
+1 głos
1 odpowiedź 2,277 wizyt
pytanie zadane 13 kwietnia 2021 w C i C++ przez Zuzanna Nowicjusz (160 p.)
–4 głosów
4 odpowiedzi 956 wizyt
pytanie zadane 6 stycznia 2021 w C i C++ przez radekflis999 Nowicjusz (160 p.)

93,173 zapytań

142,184 odpowiedzi

321,967 komentarzy

62,501 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 1157p. - dia-Chann
  2. 1139p. - Łukasz Piwowar
  3. 1131p. - CC PL
  4. 1126p. - Łukasz Eckert
  5. 1118p. - Tomasz Bielak
  6. 1104p. - Michal Drewniak
  7. 1083p. - Marcin Putra
  8. 1078p. - rucin93
  9. 1071p. - rafalszastok
  10. 1054p. - Adrian Wieprzkowicz
  11. 1047p. - Piotr Aleksandrowicz
  12. 1037p. - Michał Telesz
  13. 1005p. - ssynowiec
  14. 992p. - Dominik Łempicki (kapitan)
  15. 968p. - Anonim 3619784
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...