[ alarmi ns @ 12.06.2016. 21:44 ] @
Pre nekoliko nedelja su mi @zaso011 i @veselinovic pomogli mnogo oko bitiva i hvala im puno, pa imam jos jedno pitanjce jel sam jako slab sa mestom u kontroleru sa 2mb radim 12f683 ostamo mi je jos 200 kb a imam jos dosta da kuckam i racunam
naime definisao sam niz od 24 bita
a var bit [24]
e sada dali ima neka naredba koja bi izmenula mesta dva bita
ako je
a[24]=1
a[23]=0
da bude
a[24]=0
a[23]=1

kako mogu da im izmanim mesta,znam da definisem jos dva bita pa da uradim ovo
b var bit[2]

b[0]=a[24]
b[1]=a[23]


a[23]=b[0]
a[24]=b[1]

al malo mesta imam...mislim za ovo bi imao al ne znam dali bi imao za ostalo zato pitam dali ima neka naredba koja bi to uradila.Unapred hvala
[ Predrag Supurovic @ 12.06.2016. 21:50 ] @
Dovoljan ti je jedan dodatni bit.
[ alarmi ns @ 12.06.2016. 21:56 ] @
Mislis da ovo gore sto sam napisao nebi skoro nista mesta uzelo?A mislim da sam skontao kako i sa jednim dodatnim bitom da odradim to
da
b var bit
a[24]=b
a[24]=a[23]
a[23]=b
jesi tako mislio?
[ memento.ei @ 12.06.2016. 22:01 ] @
mislio je na ovo :

b[0]=a[24]
a[24]=a[23]
a[23]=b[0]

zamena mesta sa pomocnom promenljivom...
[ alarmi ns @ 12.06.2016. 22:03 ] @
skontao sam te,to nece mnogo mesta uzeti?Hvala ti mnogo
[ veselinovic @ 13.06.2016. 10:12 ] @
Ima algoritam da se promijene dva broja bez uvodjenja treceg.
b=a-b
a=a-b
b=a+b
[ djoka_l @ 13.06.2016. 10:39 ] @
Kada se radi sa bitovima, bolje je koristiti bitwise operacije nego aritmetičke operacije.
Ono što je @veselinovic napisao radi za integere, ali za bitove je bolje koristiti bitwise xor:

a=a^b;
b=a^b;
a=a^b;


Code (c):

#include <stdio.h>

int main()
{
    int a,b;
    printf("pre  | posle\n");
    printf(" a b | a b\n");
    printf("==========\n");
    for( int i=0; i<4; i++) {
        a=(i>>1)&1;
        b=i&1;
        printf(" %d %d  ", a, b);
        a=a^b;
        b=a^b;
        a=a^b;
        printf(" %d %d\n", a, b);
        }
   
    return 0;
}

                                                                                                                                                     
pre  | posle                                                                                                                                                        
 a b | a b                                                                                                                                                          
==========                                                                                                                                                          
 0 0   0 0                                                                                                                                                          
 0 1   1 0                                                                                                                                                          
 1 0   0 1                                                                                                                                                          
 1 1   1 1
 
[ alarmi ns @ 15.06.2016. 22:26 ] @
odradio hvala momci a sada se kunem da pic 12f683 vise uzivotu necu uzeti u ruke ja volim sve kad upakujem da bude malo sa smd elementima, aj kad se radi o necem malom ok a ja sam se igrao sa can magistralama u golfu6 da bi prilagodijo komande volana multi mediji jel originalni can komunikator od medije nije to uradio uspeo sam jel sam ko mazga tvrdoglav,umesto da sam uzeo 16f688 cetiri puta je veci pa naterao bi ga i da peva a ne jednu petlju da koristim deset puta samo da bi mesta ustedeo.Jos jednom hvala svima