abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 08:26 | Zajímavý článek
    Do roku 2030 bude nutno cca 1/4 podmořských optických kabelů nahradit novými. Do roku 2040 bude polovina obsluhující opravárenské flotily přesluhující. Na starost mají ke dnešku cca 1.500.000 km komunikačních podmořských kabelů v 607 kompletech instalací. Více na blogu APNIC
    vencour | Komentářů: 0
    včera 17:33 | Bezpečnostní upozornění

    Byla vydána nová verze 25.12.6 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Opravena je řada zranitelností v základních síťových službách, které jsou ve výchozím nastavení aktivní a které lze zneužít na dálku. Důrazně je doporučena aktualizace.

    Ladislav Hagara | Komentářů: 0
    včera 16:00 | Zajímavý projekt

    Český projekt mapSTL.com promění vybrané místo na světě ve 3D mapu pro tisk, včetně měst, kopců a hor. Vytištěnou mapu můžete také pověsit na zeď jako obraz. STL i barevný 3MF stáhnete zdarma a bez registrace. Vyzkoušejte své oblíbené místo a podělte se o zpětnou vazbu.

    cvp | Komentářů: 3
    včera 10:22 | Pozvánky

    Byl zveřejněn průběžně aktualizovaný program konference OpenAlt 2026 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Konference proběhne o víkendu 7. a 8. listopadu v prostorách FIT VUT v Brně. Vstup je zdarma.

    Ladislav Hagara | Komentářů: 0
    včera 08:08 | Zajímavý článek
    Nepálský ISP WorldLink Communications popisuje sedm let zavádění IPv6. Dnes provozuje přes milion IPoE přípojek, všechny s podporou IPv6, a přibližně 70 % provozu přenáší přes IPv6.… více »
    vencour | Komentářů: 3
    včera 02:11 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.2 oznámil Linus Torvalds vydání Linuxu 7.3. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.

    Ladislav Hagara | Komentářů: 0
    18.10. 23:39 | Bezpečnostní upozornění
    Zjištěna zranitelnost v kernelu projevující se při virtualizaci. Nejde tedy o chybu samotného KVM ani konkrétního poskytovatele cloudu, ale o problém v linuxovém zpracování IPv4 paketů, který se může týkat různých virtualizačních a sandboxových prostředí. Více např. na hacker.news - Critical PwnEscape Linux Kernel Vulnerability Lets Guest VMs Read Host Memory. Aktualizace jsou k dispozici.
    vencour | Komentářů: 0
    18.10. 23:38 | Bezpečnostní upozornění
    Malware napsaný v Go se šíří mezi linuxovými systémy, pokouší se získávat SSH klíče a využívá kompromitované stroje pro těžbu kryptoměn. Autor použil FakeNet-NG a Wireshark k analýze síťové komunikace. Popsal také indikátory kompromitace a možnosti obrany. Zajímavé je propojení SSH bezpečnosti, analýzy síťového provozu a detekce prostřednictvím SIEM. více
    vencour | Komentářů: 0
    16.10. 15:55 | Nová verze

    Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 9.00. S podporou architektury AArch64 (ARM64).

    Ladislav Hagara | Komentářů: 0
    16.10. 03:44 | IT novinky

    Společnost Fairphone stojící za stejnojmennými mobilními telefony představila (pdf) bezdrátová špuntová sluchátka Fairbuds 2. Opravitelná, s vyměnitelnými bateriemi a tříletou zárukou. Cena 119 eur.

    Ladislav Hagara | Komentářů: 18
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2872 hlasů
     Komentářů: 32, poslední 11.10. 17:02
    Rozcestník

    Dotaz: C bitwise a retezce

    8.8.2008 23:41 Nikola Pajkovský | skóre: 16
    C bitwise a retezce
    Přečteno: 518×
    Zdarvim

    Zajimalo by me jestli je mozne binarne prohazovat retezce(respektive znak po znaku). Je mozne prohodit int a i char. Pouzil jsem notoricky zname makro

    #define SWAP(a, b) (((a) ^= (b)), ((b) ^= (a)), ((a) ^= (b)))

    Ale dostal jsem se do ouzkych. Pokud SWAP zavolam s char tak to vubec neni problem a bitove to prohodi. Ale problem number one je.

    char* str_reverse( char* str )
    {
        assert( str != NULL );

        char *result = NULL;
        result = str_init( str );

        unsigned int len = strlen( result );
        unsigned int loop = len >> 1;
        for( int i = 0; i < loop; i++ ){
            if( i == loop )
                break;
            SWAP( result[i], result[len-i]);
        }
        return result;
    }

    Save the whales. Feed the hungry. Free the mallocs

    Odpovědi

    9.8.2008 00:12 H4wk | skóre: 9 | blog: H4wkuv_blog
    Rozbalit Rozbalit vše Re: C bitwise a retezce
    Tak v tom cyklu jsou nejake chyby. Mel by vypadat zhruba takhle:
    for (int i = 0; i < loop; i++) {
        SWAP(result[i], result[len-1-i]);
    }
    
    Korespondenční Seminář z Programování - Pro každého středoškoláka, který to s programováním myslí vážně.
    9.8.2008 01:25 Nikola Pajkovský | skóre: 16
    Rozbalit Rozbalit vše Re: C bitwise a retezce
    Dik uz to jede
    Save the whales. Feed the hungry. Free the mallocs
    9.8.2008 01:01 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: C bitwise a retezce
    Nemluve o tom ze tohle makro je na aktualnich procesorech zbytecne pomale, protoze neumoznuje paralelni provadeni. Postup pres pomocnou promennou bude v drtive vetsine pripadu rychlejsi.
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    9.8.2008 01:32 Nikola Pajkovský | skóre: 16
    Rozbalit Rozbalit vše Re: C bitwise a retezce
    Mohl by jsi to tochu vic rozvest jak to udelat paralerne? Podle me nejdriv projede preprocesor ktery nahradi mista kde jsou makra a pak jde syntakticka anazyla(LR), semantika, vygenrovni kodu, optimalize, generovani kodu. Moc prave nevidim tu brzdu???
    Save the whales. Feed the hungry. Free the mallocs
    9.8.2008 07:32 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: C bitwise a retezce
    Ehm, paralelni provadeni samotneho kodu.

    Dnesni procesory maji v sobe mnoho vypocetnich jednotek a proto kod:
    t1 = a;
    t2 = b;
    a = t2;
    b = t1;
    
    vyzaduje pouze dva tiky na rozdil od kodu:
    a ^= b;
    b ^= a;
    a ^= b;
    
    ktery vyzaduje VZDY tri tiky, protoze kazdy prikaz je zavisly na predchozim.

    Jinak staci to rozepsat na t = a; a = b; b = t;.
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    9.8.2008 12:23 HS | skóre: 12
    Rozbalit Rozbalit vše Re: C bitwise a retezce
    Zalezi na delce retezce, treba ma tak kratke retezce, kterym sekvencni vypocty nevadi. Kazdopadne mas pravdu, ze pres pomocnou promenou je to jednoduchsi a prehlednejsi.`

    Založit nové vlákno • Nahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.