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

Różnica między operatorem logicznym a operatorem logicznym bitowym

Object Storage Arubacloud
+1 głos
2,378 wizyt
pytanie zadane 15 września 2015 w C i C++ przez Muminek Dyskutant (8,650 p.)
Cześć :)

Zastanawiam się nad rozgryzieniem pewnej sprawy by dobrze ją zrozumieć.
Chodzi mi o operatory logiczne && i || oraz operatory logiczne bitowe & i |

Najlepiej będzie mi wytłumaczyć swój dylemat na przykładzie:
m: 0000 1111 0000 1111
k: 0000 1111 1111 0000

jeżeli na poszczególnych bitach mam dokonać & i | to nie ma problemu wszystko rozumiem.
&: 0000 1111 0000 0000
||: 0000 1111 1111 1111

Ale jak dokonać na tym && i || ?.
Tak samo mam postępować bit po bicie (chociaż wtedy wynik byłby ten sam)? Zgubiłem się po prostu w różnicy między tymi operatorami w przypadku gdy porównujemy konkretne bity.

2 odpowiedzi

+1 głos
odpowiedź 15 września 2015 przez event15 Szeryf (93,790 p.)
wybrane 15 września 2015 przez Muminek
 
Najlepsza
komentarz 15 września 2015 przez event15 Szeryf (93,790 p.)
Logiczny, jak sama nazwa wskazuje zwraca uwagę tylko na wartość. Jeżeli ta wartość jest FALSE (czyli 0) to odpowiedź będzie false. Cokolwiek innego różnego od zera będzie uznane za true.

http://eduinf.waw.pl/inf/alg/002_struct/0012.php
komentarz 15 września 2015 przez Muminek Dyskutant (8,650 p.)
o, super :) Podobnie jak myślałem na początku, tyle że w zakłopotanie wprowadziło mnie ćwiczenie od Pana J. Grębosza.

Bo w takim przypadku nie da się uzupłenić tej tabelki w przykładach && i || bit po bicie, czy dalej coś sobie mieszam w głowie? Wynik może być tylko wzięty pod uwagę jako całośc.

Skan z zadania: http://i.imgur.com/WIWAv1w.png

w oby przykładach na operacje logiczną wynik będzie true, ale nie da się tego uzupełnić w poszczególnym bicie dobrze myślę
komentarz 15 września 2015 przez event15 Szeryf (93,790 p.)
a [ 0000 1111 0000 1111 ] = 3855 dziesiętnie.
b [ 0000 0000 0000 1111 ] = 15 dziesiętnie

a & b = 15 [ 0000 0000 0000 1111 ]
a && b = 1 [ 0000 0000 0000 0001 ]

a | b = 3855 [ 0000 1111 0000 1111 ]
a || b = 1 [ 0000 0000 0000 0001 ]
komentarz 15 września 2015 przez Muminek Dyskutant (8,650 p.)
Pojałem w pełni :)

Miłego dnia kolego :)
komentarz 15 września 2015 przez event15 Szeryf (93,790 p.)
+1 głos
odpowiedź 15 września 2015 przez mrcnsct Nałogowiec (36,390 p.)

Operatory logiczne nie operują na bitach (tak jak operatory bitowe) tylko biorą pod uwagę wartość logiczną argumentów. https://www.youtube.com/watch?v=9ox1_aV6AMg

Podobne pytania

0 głosów
1 odpowiedź 138 wizyt
0 głosów
1 odpowiedź 1,031 wizyt
pytanie zadane 27 marca 2016 w C i C++ przez SebekChlebek Stary wyjadacz (11,290 p.)
0 głosów
3 odpowiedzi 910 wizyt
pytanie zadane 7 maja 2015 w PHP przez DL TD Nałogowiec (36,710 p.)

92,576 zapytań

141,425 odpowiedzi

319,650 komentarzy

61,961 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!

...