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í
×
    včera 23:33 | Zajímavý software

    Byl představen emulátor terminálu Ratty (GitHub) s podporu 3D grafiky přímo v terminálu. Inspirací byl operační systém TempleOS od Terryho Davise. Ratty je napsán v jazyce Rust. Využívá knihovnu Ratatui pro tvorbu rozhraní a herní engine Bevy pro 3D vykreslování.

    Ladislav Hagara | Komentářů: 0
    včera 17:55 | IT novinky

    Evropské instituce i některé americké státy dál zpřísňují pravidla pro ověřování věku na internetu. Cílem je zabránit dětem v přístupu k obsahu pro dospělé. Úřady ale narážejí na zásadní problém – stále více lidí používá VPN, tedy služby umožňující skrýt identitu i skutečnou polohu na internetu. Právě VPN nyní Evropská parlamentní výzkumná služba (EPRS) označila za „mezeru v legislativě, kterou je potřeba uzavřít“ [Novinky.cz].

    Ladislav Hagara | Komentářů: 9
    včera 17:22 | Nová verze

    Multiplatformní open source aplikace pro psaní poznámek Joplin (Wikipedie) byla vydána v nové verzi 3.6. Nově lze mít v poznámkách embedovaný externí obsah, např. YouTube videa.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Komunita

    Open Hardware Summit 2026 organizovaný OSHWA (Open Source Hardware Association) proběhne o víkendu 23. a 24. května v Berlíně na Technické univerzitě Berlín.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze

    Navigace se soukromím CoMaps postavena nad OpenStreetMap byla vydána v nové verzi 2026.05.06. Přibyla možnost aktualizovat mapy v aplikaci CoMaps, aniž by bylo nutné aktualizovat i verzi aplikace. CoMaps je komunitní fork aplikace Organic Maps.

    Ladislav Hagara | Komentářů: 1
    10.5. 05:11 | Nová verze

    OCCT3D (Open CASCADE Technology) Open Source 8.0 bylo vydáno. OCCT3D (Wikipedie, GitHub) je objektově orientovaná knihovna pro 3D CAD, CAM nebo CAE. Používá se například v softwarech FreeCAD a KiCad.

    Ladislav Hagara | Komentářů: 5
    10.5. 02:22 | Bezpečnostní upozornění

    Ve FreeBSD byla nalezena a již opravena 21letá zranitelnost CVE-2026-42511 v dhclient. Jedná se o vzdálené spuštění kódu (RCE). Útočník mající pod správou DHCP server může získat plnou kontrolu nad systémem FreeBSD pouze jeho připojením k místní síti.

    Ladislav Hagara | Komentářů: 11
    9.5. 17:22 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    9.5. 00:11 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-1.3. Současně oznámila, že nadcházející větší vydání 24.04-2.0 bude mít modernější webový prohlížeč.

    Ladislav Hagara | Komentářů: 0
    8.5. 17:11 | Zajímavý projekt

    Ploopy po DIY trackballech či sluchátkách představuje nový externí DIY trackpoint se čtyřmi tlačítky Bean. Obsahuje snímač Texas Instruments TMAG5273, spínače Omron D2LS-21 a řadič RP2040, používá firmware QMK. Schémata jsou na GitHubu; sadu lze předobjednat za 69 kanadských dolarů (bez dopravy a DPH).

    |🇵🇸 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (9%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (25%)
    Celkem 1579 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: C bitwise a retezce

    8.8.2008 23:41 Nikola Pajkovský | skóre: 16
    C bitwise a retezce
    Přečteno: 289×
    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áknoNahoru

    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.