Programski jezik C

woowek

Tajkun 08
7. sep 2007
693
1
18
Mi lahko kdo razloži bite in operacije z njimi... Pretvarjat sem se naučil :D
 

philips

Guru
Osebje foruma
Administrator
17. avg 2007
9.878
698
113
Ja bitne operacije se izvajajo nad istoležnimi biti.
Če imaš 0010 | 1000 dobiš 1010. Pri in/xor je enako, samo da se pač izvaja druga logična operacija.

Pri shiftanju pa je pomikanje bitov v levo/desno. Glede na integer je to ekvivalentno množenju/deljenju z dva.
Če imaš 0001 in premakneš za 2 v levo, dobiš 0100 (vse se zamakne v levo, na levi strani se odreže stran, na desni pa se dodajajo nule). Ekvivalentno je pri desnem shiftanju.

Drugače pa si preberi: http://en.wikipedia.org/wiki/Bitwise_operation
 

Odisej

arhivar
Osebje foruma
Administrator
2. sep 2007
7.644
9
113
Alter.si
www.skodelica-s-sliko.com
Kot IOPin verjetno misliš ARMov register. Ne, registri niso standardni, vsak proizvajalec jih izvaja po svoje. Mislim pa, da dokler se učiš programiranja, da se boš lažje naučil "lučke prižigat" z ukaznimi klici aka _setleds(x); kot pa z "ročnim" shiftanjem registra. Tako da, pomoje najbolje, da si zadaš en projektič, pa ga poskušaš čimenostavneje izvest.
smile-1.gif
 

woowek

Tajkun 08
7. sep 2007
693
1
18
ja sej to mi ni jasen kko je možno da ledice vžigaš z _setleds(15) ali pa z _setleds(nek bit) v čem je ta fora. Itak je bl enostavno 15 napisat kot pa bite.
 

Odisej

arhivar
Osebje foruma
Administrator
2. sep 2007
7.644
9
113
Alter.si
www.skodelica-s-sliko.com
najbolj "kul" so programska okolja z ogromno knjižnicami. Za šarma imaš samo io.h ki ima narejene funkcije za ledice, lcd in tipke. Pa za prižiganje in izklapljanje portov. To je pa tudi v grobem vse kar rabiš za narest kaj.
smile-1.gif

Če se boš pa z registri špilal...pa ne vem kaj nej ti rečem, narobe si se lotil učenja.

btw, če res iščeš izziv, menda (po besedah enega profesorja) obstaja za ARMe zelo preprost assembler, tak da ni nujno v Cju pisat
tongue-1.gif