Hirdetés

Új hozzászólás Aktív témák

  • jattila48
    aktív tag

    Kedves kollégák,

    Egy olyan algoritmust kérnék tőletek amely egy 8bit-es vagy is 1 byte-ot fordít meg.
    Pl: ből - re
    00000011 - 11000000
    A lényeg, hogy a lehető legkevesebb erőforrást igényeljen a bitművelet.
    Egy olyan rutin kellene ami nagyon gyorsan és pontosan illetve rugalmasan dolgozik mert nagyon sok különböző adatot kell felcserélni..
    (Azért nem én álltam neki megírni a rutint, mert, itt kevés az, hogy jól működik, itt sokat számít, hogy a lehető leggyorsabb és legkevesebb erőforrást igényelve cserélje fel a bitsorozatot.)
    Előre is köszi... (egyébként egy makró vagy struktúra is jó lehet, ha az gyorsabb)

    Hirtelen ez jutott eszembe, de biztos van gyorsabb módszer is:

    unsigned char reverse_bits(unsigned char x)
    {
    unsigned char y=0;
    y=y | ((x & 0x80) >> 7);
    y=y | ((x & 0x40) >> 5);
    y=y | ((x & 0x20) >> 3);
    y=y | ((x & 0x10) >> 1);
    y=y | ((x & 0x8) << 1);
    y=y | ((x & 0x4) << 3);
    y=y | ((x & 0x2) << 5);
    y=y | ((x & 0x1) << 7);

    return y;
    }

Új hozzászólás Aktív témák