Poslao: 12 Sep 2012 22:26
|
offline
- crusher
- Ugledni građanin
- Pridružio: 15 Maj 2012
- Poruke: 396
|
Ovako:
#include <stdio.h>
#include <stdlib.h>
int
main()
{
int x, y;
x = 7;
y = 3;
if (x && y < 10)
printf("Obe promenljive su manje od 10.");
return EXIT_SUCCESS;
}
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 12 Sep 2012 22:29
|
offline
- Sass Drake
- Anti Malware Fighter
Rank 2
- Pridružio: 26 Avg 2010
- Poruke: 10622
- Gde živiš: Hypnos Control Room, Tokyo Metropolitan Government Building
|
Ne.
if (x < 10 && y < 10)
|
|
|
|
Poslao: 12 Sep 2012 22:32
|
offline
- Srki_82
- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
Skoro... trebalo je da piše if (x < 10 && y < 10), ali to sad nije važno. Važno je da si iskoritio && kako treba i da razumeš šta radi. Kada bi želeo da izvršiš kod ako je ili x ili y manje od 10, onda bi koristio operator ||.
Da li sad odprilike razumeš logičke operatore?
|
|
|
|
Poslao: 12 Sep 2012 22:34
|
offline
- crusher
- Ugledni građanin
- Pridružio: 15 Maj 2012
- Poruke: 396
|
Da, sada razumem, i hvala vam na ispravci, da zna za ubuduce.
E ali sad ono Ili, i na bitovima, pa nesto iskljucivo Ili nad bitovima ne razumem bas nista o cemu on radi i kako radi? I zasta nam treba?
Mozete li mi to objasniti?
|
|
|
|
Poslao: 12 Sep 2012 22:42
|
offline
- Srki_82
- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
E... sad kad razumeš logičke operatore, biće ti lakše da razumeš binarne. Binarni operatori, kao što ime sugeriše, rade nad bitovima. Recimo da imaš promenljive:
byte a = 45, b = 170
Broj 170 se u binarnom obliku piše ovako: 10101010
Broj 45 se u binarnom obliku piše ovako: 00101101
170 & 45 jednostavno proveri svaki bit oba broja i ako su i jedan i drugi 1, upiše 1, u suprotnom upiše 0:
10101010
&
00101101
=
00101000
| upiše 1 ako je bilo koji bit 1:
10101010
|
00101101
=
10101111
~ je negacija i koristi samo jedan parametar
~
00101101
=
11010010
|
|
|
|
Poslao: 12 Sep 2012 22:52
|
offline
- NIx Car
- Legendarni građanin
- Més que un club
- Glavni vokal @ Harpun
- Pridružio: 27 Feb 2009
- Poruke: 3898
- Gde živiš: Novi Sad,Klisa
|
Operatori nad bitovima se koriste najvise u robotici zbog toga sto je tamo memorija ogranicena i u jednu promenljivu mozes,uz pomoc poznavanja operatora nad bitovima, smestis vise podataka.
|
|
|
|
Poslao: 12 Sep 2012 23:03
|
offline
- Aleksandr1996
- Ugledni građanin
- Na odmoru xD
- Na odmoru xD
- Pridružio: 15 Feb 2012
- Poruke: 430
|
Srki_82 ::E... sad kad razumeš logičke operatore, biće ti lakše da razumeš binarne. Binarni operatori, kao što ime sugeriše, rade nad bitovima. Recimo da imaš promenljive:
byte a = 45, b = 170
Broj 170 se u binarnom obliku piše ovako: 10101010
Broj 45 se u binarnom obliku piše ovako: 00101101
170 & 45 jednostavno proveri svaki bit oba broja i ako su i jedan i drugi 1, upiše 1, u suprotnom upiše 0:
10101010
&
00101101
=
00101000
| upiše 1 ako je bilo koji bit 1:
10101010
|
00101101
=
10101111
~ upiše 1 samo ako su bitovi različiti:
10101010
~
00101101
=
10000111
Ali zar ~ nije nesta tipa kao negacija samo na nivou bita npr 4 = 100 pa ~100 = 011 a operator ^ (ekskluzivno ili na nivou bitova) upisuje 1 samo kao su razliciti.
|
|
|
|
|
Poslao: 12 Sep 2012 23:08
|
offline
- Aleksandr1996
- Ugledni građanin
- Na odmoru xD
- Na odmoru xD
- Pridružio: 15 Feb 2012
- Poruke: 430
|
Zeleo bih napomenuti da kad uradim u C ~ npr nad cetvorkom (ili bilo kojim drugim brojem) dobijem -5 ali verovatno je to zato sto se u pozitivne brojeve racuna 0.
EDIT: Pisali smo u isto vrme. Svako moze da pogresi
|
|
|
|
Poslao: 14 Sep 2012 10:27
|
offline
- crusher
- Ugledni građanin
- Pridružio: 15 Maj 2012
- Poruke: 396
|
Srki_82 ::E... sad kad razumeš logičke operatore, biće ti lakše da razumeš binarne. Binarni operatori, kao što ime sugeriše, rade nad bitovima. Recimo da imaš promenljive:
byte a = 45, b = 170
Broj 170 se u binarnom obliku piše ovako: 10101010
Broj 45 se u binarnom obliku piše ovako: 00101101
170 & 45 jednostavno proveri svaki bit oba broja i ako su i jedan i drugi 1, upiše 1, u suprotnom upiše 0:
10101010
&
00101101
=
00101000
| upiše 1 ako je bilo koji bit 1:
10101010
|
00101101
=
10101111
~ je negacija i koristi samo jedan parametar
~
00101101
=
11010010
Ovo za broj 45, zar se binarni oblik mora da na poceku ima 1, nemoze da ima 0.
I ja i dalje ne kapiram za ovo, kako na bitovima, sta radi. Ne kapiram.
|
|
|
|