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 18:00 | Nová verze

    VKD3D-Proton byl vydán ve verzi 3.0. Jedná se fork knihovny vkd3d z projektu Wine pro Proton. Knihovna slouží pro překlad volání Direct3D 12 na Vulkan. V přehledu novinek je vypíchnuta podpora AMD FSR 4 (AMD FidelityFX Super Resolution 4).

    Ladislav Hagara | Komentářů: 0
    včera 03:11 | Nová verze

    Poštovní klient Thunderbird byl vydán v nové verzi 145.0. Podporuje DNS přes HTTPS nebo Microsoft Exchange skrze Exchange Web Services. Ukončena byla podpora 32bitového Thunderbirdu pro Linux.

    Ladislav Hagara | Komentářů: 0
    včera 02:33 | IT novinky

    U příležitosti státního svátku 17. listopadu probíhá na Steamu i GOG.com již šestý ročník Czech & Slovak Games Week aneb týdenní oslava a také slevová akce českých a slovenských počítačových her.

    Ladislav Hagara | Komentářů: 0
    16.11. 19:33 | Nová verze

    Byla vydána nová verze 9.19 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček BirdNET-Go, tj. AI řešení pro nepřetržité monitorování a identifikaci ptáků.

    Ladislav Hagara | Komentářů: 0
    16.11. 02:22 | Nová verze

    Byla vydána nová verze 3.38 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.10 souvisejícího programovacího jazyka Dart (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    16.11. 01:33 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 28 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    15.11. 16:11 | Nová verze

    Byl vydán Debian 13.2, tj. druhá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    15.11. 12:11 | IT novinky

    Google představil platformu Code Wiki pro rychlejší porozumění existujícímu kódu. Code Wiki pomocí AI Gemini udržuje průběžně aktualizovanou strukturovanou wiki pro softwarové repozitáře. Zatím jenom pro veřejné. V plánu je rozšíření Gemini CLI také pro soukromé a interní repozitáře.

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

    V přihlašovací obrazovce LightDM KDE (lightdm-kde-greeter) byla nalezena a již opravena eskalace práv (CVE-2025-62876). Detaily v příspěvku na blogu SUSE Security.

    Ladislav Hagara | Komentářů: 5
    14.11. 13:22 | Nová verze

    Byla vydána nová verze 7.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 15.0.1. Další novinky v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (18%)
     (18%)
     (23%)
     (15%)
     (23%)
     (16%)
     (16%)
    Celkem 359 hlasů
     Komentářů: 16, poslední 12.11. 18:21
    Rozcestník

    Dotaz: Integer s ruznou bitovou sirkou

    21.11.2011 20:10 Dannny | skóre: 14
    Integer s ruznou bitovou sirkou
    Přečteno: 282×
    Zdravim, potreboval bych definovat int (signed i unsigned variantu), ktery ma ruznou bitovou sirku. Tedy napr.:
    int17 a, b;
    int34 c;
    
    a = 0x1ffff; // -1 v hexa na 17 bitech
    b = 0x1ffff; // -1 v hexa na 17 bitech
    c = a * b;   // melo by vyjit 1
    
    Pocet bitu by nemel byt nicim omezen, abych mohl mit napr. 130 bitovy int. Nasel jsem pouze knihovny, ktere umoznuji libovolne velky int (napr.: gmp, mpir), coz ale neresi muj problem. Setkal se nekdo s knihovnou, ktera by toto umela?

    Predem diky za nakopnuti :-)...

    Odpovědi

    21.11.2011 22:05 l4m4
    Rozbalit Rozbalit vše Re: Integer s ruznou bitovou sirkou
    GMP tvůj problém řeší, protože implementuje modulární násobení, mocnění a dělení; a modulární sčítání a odečítání snadno dosáhneš normálním sčítáním a odečítáním s následnou opravou výsledku - na které si lze celkem snadno vytvořit wrappery. Protože umožňuje obecnou modulární aritmetiku (nejen se základem 2^N), nebude to samozřejmě tak efektivní jako specializovaná knihovna.

    Zápis c = a * b; ti v C nebude fungovat nikdy (kromě malých bitových šířek, které lze realizovat bitovými poli), protože nemá přetěžování operátorů.
    21.11.2011 22:21 Dannny | skóre: 14
    Rozbalit Rozbalit vše Re: Integer s ruznou bitovou sirkou
    GMP tvůj problém řeší, protože implementuje modulární násobení, mocnění a dělení; a modulární sčítání a odečítání snadno dosáhneš normálním sčítáním a odečítáním s následnou opravou výsledku - na které si lze celkem snadno vytvořit wrappery. Protože umožňuje obecnou modulární aritmetiku (nejen se základem 2^N), nebude to samozřejmě tak efektivní jako specializovaná knihovna.

    Prave jsem se ptal, jestli nekdo ty wrappery uz nenapsal, abych mohl vyuzit neco, co uz je ozkousene.
    Zápis c = a * b; ti v C nebude fungovat nikdy (kromě malých bitových šířek, které lze realizovat bitovými poli), protože nemá přetěžování operátorů.
    Mohu pouzit C++ (zapouzdreni do trid s operatory), ostatne gmp i mpir maji toto zapouzdreni uz implementovane.
    21.11.2011 22:26 Dannny | skóre: 14
    Rozbalit Rozbalit vše Re: Integer s ruznou bitovou sirkou
    GMP tvůj problém řeší, protože implementuje modulární násobení, mocnění a dělení; a modulární sčítání a odečítání snadno dosáhneš normálním sčítáním a odečítáním s následnou opravou výsledku - na které si lze celkem snadno vytvořit wrappery. Protože umožňuje obecnou modulární aritmetiku (nejen se základem 2^N), nebude to samozřejmě tak efektivní jako specializovaná knihovna.
    btw. mohl by si mi prepsat muj priklad do rutin gmp?
    21.11.2011 22:55 l4m4
    Rozbalit Rozbalit vše Re: Integer s ruznou bitovou sirkou
    mpz_set_ui(a, 0x1ffff);
    mpz_set_ui(b, 0x1ffff);
    mpz_mul(c, a, b);
    mpz_fdiv_r(c, c, BASE);
    
    kde BASE je proměnná obsahující bázi, zde 2^34. Nebo tak něco. Celou aritmetiku se znaménky bych samozřejmě přeformuloval do neznaménkové. Sčítání, odečítání a násobení funguje automaticky a dělení se IIRC dělá násobením moduálrní inverzí (raději ověř).
    22.11.2011 08:05 Dannny | skóre: 14
    Rozbalit Rozbalit vše Re: Integer s ruznou bitovou sirkou
    mpz_set_ui(a, 0x1ffff);
    mpz_set_ui(b, 0x1ffff);
    mpz_mul(c, a, b);
    mpz_fdiv_r(c, c, BASE);
    
    kde BASE je proměnná obsahující bázi, zde 2^34. Nebo tak něco. Celou aritmetiku se znaménky bych samozřejmě přeformuloval do neznaménkové. Sčítání, odečítání a násobení funguje automaticky a dělení se IIRC dělá násobením moduálrní inverzí (raději ověř).
    Tak jsem si s tim pohral, ale stejne me to nedava spravne vysledky. Pokud 1:1 vezmu tvuj priklad a c bude take neznamenkovy int, tak v c je ulozen vysledek po neznamenkovem nasobeni (0x3fffc0001). Coz je sice na bitech pravda, ale v reprezentaci gmp je to chybne. Spravna -1 je v gmp ulozena jako 1 a znamenko je nastaveno na -. Navic, pokud ulozim do b 0x1, tak by vysledek mel byt -1, coz ale neni a je zde opet vysledek po neznamenkovem nasobeni 0x1ffff.

    Podle me to nefunguje, nebo mi neco zasadniho unika...
    22.11.2011 10:56 l4m4
    Rozbalit Rozbalit vše Re: Integer s ruznou bitovou sirkou
    Ano. Nepřečetl sis text pod tím kódem o převodu na neznaménkovou aritmetiku. Což je s podivem, protože jsi ho celý ocitoval...

    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.