Bitna telovadba

Moderator: tilz0R

Bitna telovadba

OdgovorNapisal/-a Kroko » 13 Jan 2020, 23:27

Imam 16 bitno spremenljivko. V njej dva bita prestavljata par. Rad bi ju obrnil.

Takole:
Koda: Izberi vse
če -> potem
0 -> 0
1 -> 2
2 -> 1
4 -> 8
8 -> 4
16 -> 32
32 -> 16
...
http://www.planet-cnc.com poskakuješ na eni nogi in žvižgaš alpske podoknice Kroko was here!
Uporabniški avatar
Kroko
 
Prispevkov: 4877
Pridružen: 14 Jan 2015, 12:12
Kraj: Ljubljana
Zahvalil se je: 690 krat
Prejel zahvalo: 1704 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255

Re: Bitna telovadba

OdgovorNapisal/-a zanka » 13 Jan 2020, 23:31

Pseudokoda ...
(x & 0b1010) >> 1 | (x & 0b0101) << 1 ?
Uporabniški avatar
zanka
 
Prispevkov: 2693
Pridružen: 17 Mar 2016, 01:16
Zahvalil se je: 116 krat
Prejel zahvalo: 268 krat
Uporabnika povabil: DusanK
Število neizkoriščenih povabil: 53

Re: Bitna telovadba

OdgovorNapisal/-a Kroko » 13 Jan 2020, 23:52

Hvala. To je to

Koda: Izberi vse
#define SWAP_PAIR(a) ((((a) & 0xAAAAAAAA) >> 1) | (((a) & 0x55555555) << 1))
http://www.planet-cnc.com poskakuješ na eni nogi in žvižgaš alpske podoknice Kroko was here!
Uporabniški avatar
Kroko
 
Prispevkov: 4877
Pridružen: 14 Jan 2015, 12:12
Kraj: Ljubljana
Zahvalil se je: 690 krat
Prejel zahvalo: 1704 krat
Uporabnika povabil: Vrtni palček
Število neizkoriščenih povabil: 255


Vrni se na C in sorodni jeziki

Kdo je na strani

Po forumu brska: 0 registriranih uporabnikov in 1 gost