Divous
August 26, 2011, 8:07am
1
Zdravím.
Jde mi v podstatě o zrcadlové prohození bitů v rámci jednoho bytu.
Př:
0b00000001 -> 0b10000000
0b10101100 -> 0b00110101
V assembleru je mi to jasné.
Tam prostě byte přepasíruji pomocí lsl a rol skrz příznak C.
Ale jak na to v Céčku mi zatím není jasné.
Existuje na to nějaká funkce?
piityy
August 26, 2011, 8:51am
2
Zkus toto:for(i=0; i<8; i++)
{
a <<= 1;
if(b & (1<<i)) a |= 1;
}
Netestovaljsem to, možná to bude potřebovat doladit.
Divous
August 26, 2011, 8:52am
3
Už jsem na to přišel. (resp. našel)
Existuje několik způsobů.
Nejlépe popsané jsem je našel zde:
daniweb.com/software-development/c/code/216516