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 15:33 | IT novinky

    Po 26 letech od protiprávního policejního zásahu, který byl spuštěn na základě podnětu společnosti Microsoft, Obvodní soud pro Prahu 2 rozsudkem potvrdil, že Mironet prokázal významnou část svého nároku na náhradu škody vůči Ministerstvu spravedlnosti ČR. Soudem nyní přiznaná část nároku znamená rekordní odškodné, jaké kdy české soudy přiznaly za nesprávný postup státu. Spor byl rozdělen na několik škod, u pravomocně uzavřených částí

    … více »
    Ladislav Hagara | Komentářů: 15
    včera 15:22 | Nová verze

    Lehké desktopové prostředí LXQt bylo vydáno ve verzi 2.4.0. Jde o převážně opravné vydání s drobnými vylepšeními podpory Waylandu.

    |🇵🇸 | Komentářů: 0
    včera 12:44 | IT novinky

    Počítačová hra Kingdom Come: Deliverance 2 českého studia Warhorse získala cenu BAFTA v kategorii nejlepší příběh. V konkurenci pěti dalších nominovaných děl porazila i úspěšnou francouzskou hru Clair Obscur: Expedition 33, která v letošním ročníku získala cenu za nejlepší hru roku.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Komunita

    Projekt KDE oslaví v říjnu 30 let. Matthias Ettrich poslal 14. října 1996 do diskusní skupiny comp.os.linux.misc zprávu, která započala historii projektu. Důležité milníky jsou zobrazeny na časové ose KDE.

    Ladislav Hagara | Komentářů: 2
    včera 02:55 | Komunita

    Byly vyhlášeny výsledky letošní volby vedoucí/ho projektu Debian (DPL, Wikipedie). Poprvé povede Debian žena. Novou vedoucí je Sruthi Chandran. Letos byla jedinou kandidátkou. Kandidovala již v letech 2020, 2021, 2024 a 2025. Na konferenci DebConf19 měla přednášku Is Debian (and Free Software) gender diverse enough?

    Ladislav Hagara | Komentářů: 16
    včera 00:55 | Nová verze

    Byla vydána nová verze 10.3 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Přidána byla podpora Orange Pi 4 LTS. Přibyl balíček Prometheus.

    Ladislav Hagara | Komentářů: 0
    19.4. 18:55 | Nová verze

    Implementace VPN softwaru WireGuard (Wikipedie) pro Windows, tj. WireGuard pro Windows a WireGuardNT, dospěly do verze 1.0.

    Ladislav Hagara | Komentářů: 2
    19.4. 16:11 | IT novinky

    V Pekingu dnes proběhl 2. ročník půlmaratonu humanoidních robotů. První 3 místa obsadili roboti Honor Lightning v různých týmech. Nový rekord autonomního robota je 50 minut a 26 sekund. Operátorem řízený robot to zvládl i s pádem za 48 minut a 19 sekund. Řízení roboti měli časovou penalizaci 20 %. Před rokem nejrychlejší robot zvládl půlmaraton za 2 hodiny 40 minut a 42 sekund. Aktuální lidský rekord drží Jacob Kiplimo z Ugandy s časem 57 minut a 20 sekund [𝕏].

    Ladislav Hagara | Komentářů: 6
    17.4. 17:11 | Zajímavý článek

    Stanislav Fort, vedoucí vědecký pracovník z Vlčkovy 'kyberbezpečnostní' firmy AISLE, zkoumal dopady Anthropic Mythos (nový AI model od Anthropicu zaměřený na hledání chyb, který před nedávnem vyplašil celý svět) a předvedl, že schopnosti umělé inteligence nejsou lineárně závislé na velikosti nebo ceně modelu a dokázal, že i některé otevřené modely zvládly v řadě testů odhalit ve zdrojových kódech stejné chyby jako Mythos (například FreeBSD CVE-2026-4747) a to s výrazně nižšími provozními náklady.

    MakeIranBombedAgain❗ | Komentářů: 8
    17.4. 12:44 | IT novinky

    Federální návrh zákona H.R.8250 'Parents Decide Act', 13. dubna předložený demokratem Joshem Gottheimerem a podpořený republikánkou Elise Stefanik coby spolupředkladatelkou (cosponsor), by v případě svého schválení nařizoval všem výrobcům operačních systémů při nastavování zařízení ověřovat věk uživatelů a při používání poskytovat tento věkový údaj aplikacím třetích stran. Hlavní rozdíl oproti kalifornskému zákonu AB 1043 a kolorádskému SB26-051 je ten, že federální návrh by platil rovnou pro celé USA.

    MakeIranBombedAgain❗ | Komentářů: 13
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (1%)
     (12%)
     (30%)
     (3%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 1365 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Velka cisla v C

    24.3.2012 09:57 Karel Machyna
    Velka cisla v C
    Přečteno: 911×
    Zdravim, prepisuju jeden program z php do pythonu a do C a zasekl jsem se u velkych cisel. V cem je problem - v originalnim PHP kodu je (zjednodusene) toto:
    $a = bcpowmod(2, 249, 997);
    echo $a."\n";
    
    Spravny vysledek 161. V pythonu s tim samym neni zadny problem:
    print 2**249 % 997
    
    Vysledek opet spravne a uz asi chapete kam mirim. Kod v C:
    long long x = ((long long)pow(a, d)) % n;
    printf("x=%lld\n",x);
    
    No a asi neprekvapi, ze dojde k preteceni zobrazi se zaporny vysledek. Moje otazka je, jak toto vyresit. Vim, ze existuji knihovny pro praci s velkymi cisli (libgmp), ale tem bych se hrozne rad vyhnul. Je nejaka moznost jak toho vyresit standardnimi prostredky C/C++?

    Řešení dotazu:


    Odpovědi

    Řešení 1× (Dr. Eddy)
    24.3.2012 10:16 luky
    Rozbalit Rozbalit vše Re: Velka cisla v C
    Pokud Vam jde o tu mocninu, tak muzete pouzit cinskou vetu o zbytcich.
    24.3.2012 13:47 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Velka cisla v C
    Tak to by mne docela zajímalo. Můžete to nějak rozvést?
    24.3.2012 16:07 luky
    Rozbalit Rozbalit vše Re: Velka cisla v C
    To, cim se moduluje, si rozdelim na nesoudelna cisla, pro ktera plati ze jejich druha mocnina je mensi nez maximalni hodnota ulozitelna do daneho typu, a pak pro kazde to cislo spocitam mocninu binarnim pulenim. Potom to podel ty cinsky vety prevedu do puvodniho modula.
    24.3.2012 17:26 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Velka cisla v C
    Což ale dává smysl jen v případě, že modul je sám příliš velký a jde dobře rozložit na součin nesoudělných čísel. Tady je to prvočíslo, a to dost malé.
    24.3.2012 17:44 luky
    Rozbalit Rozbalit vše Re: Velka cisla v C
    Ono se to vyplati i u mensich modulu kvuli rychlosti.
    24.3.2012 17:47 luky
    Rozbalit Rozbalit vše Re: Velka cisla v C
    A tim mensim modulem nemyslim trojciferny cislo ;-) Znat je to treba v pripade, ze CPU umi jen 16bit(32bit) a vetsi integery se museji emulovat.
    25.3.2012 10:51 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Velka cisla v C
    1, 2, 3 To je zase nějaký domácí úkol? Nechcete to raději řešit v jedné diskusi místo ve třech?
    pavlix avatar 24.3.2012 10:30 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Velka cisla v C
    print 2**249 % 997
    Otázka je jestli to počítá tak jak bys chtěl (kvůli rychlosti apod).
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    24.3.2012 11:59 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Velka cisla v C
    V 99,99% špatně, tedy pomalu a neoptimálně. Pochybuji, že by algoritmus do normálního vzorce měl aplikovánu čínskou větu o zbytcích a také téměř určitě implementace nevyužívá identity
    a^fi(n) % n = 1
    kde fi(n) je Eulerova funkce přirozeného čísla n. A díky prioritě operací (mocnina je prioritnější než modulo, dělení a násobení) také patrně nevyužívá identity
    (a*b)%n = ((a%n)*(b%n))%n
    která umožňuje počítat modulo pro mnohem menší čísla než nejdříve pronásobit a pak dělit.
    pavlix avatar 24.3.2012 12:43 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Velka cisla v C
    V 99,99% špatně, tedy pomalu a neoptimálně. Pochybuji, že by algoritmus do normálního vzorce měl aplikovánu čínskou větu o zbytcích a také téměř určitě implementace nevyužívá identity
    Python prakticky neoptimalizuje. Alespoň v současných verzích. Ale problém je v tom, že i kdybys chtěl takovýto výraz optimalizovat, tak by se musela vymýtit spousta zlozvyků jako používat stejné operátory na různé účely.

    A i tak by programátoři byli kolikrát překvapeni, co jejich program vlastně dělá. Python pracuje nad objekty a z objektů samotných zjišťuje, jak se mají dané operace provést. Na rychlé výpočty je mnohem lepší C, které se případně z Pythonu zavolá. Na druhou stranu na první pokusy a proof of concept implementace je Python ideální už díky podpoře velkých čísel.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    24.3.2012 13:14 tom
    Rozbalit Rozbalit vše Re: Velka cisla v C
    Doplnim, ze v pythonu je pow(a,b,c)=a^b mod c.
    pavlix avatar 24.3.2012 13:28 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Velka cisla v C
    Díky.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    24.3.2012 13:55 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Velka cisla v C
    a také téměř určitě implementace nevyužívá identity
    a^fi(n) % n = 1
    kde fi(n) je Eulerova funkce přirozeného čísla n.

    Vezmu-li v úvahu, že φ(997) = 996 > 249, tak v tom zase tak zásadní problém nevidím. Nemluvě o tom, že pokud exponent není opravdu výrazně větší než n, bude samotný výpočet φ(n) (časová náročnost obecně odmocnina z n) trvat déle než prostě tu mocninu spočítat v příslušném ℤ/ℤ[n] (časová náročnost logaritmická vzhledem k exponentu).

    24.3.2012 22:00 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Velka cisla v C
    Souhlas, že v tomto případě se identitou nic nezíská, a pokud nic více tazatel nepotřebuje, tak jednoduché použití funkcí nad dlouhými čísly otázku řeší. Psal jsem ale poznámku proto, že hlavní důvod přepisu kódu z pythonu do C je obvykle rychlost. A ve chvíli, kdy je uvedené pouze úvodní test/příklad a mohou se používat mnohem větší čísla, a cíl je primárně rychlost, tak více zisku rychlosti dává promyšlení toho, co počítám a jak, tedy návrh a implementace algoritmů, než prosté použití standardních operací
    25.3.2012 00:23 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Velka cisla v C
    Já zase chtěl upozornit, že nelze doporučit optimální algoritmus, když vlastně nevíme, které z operandů jsou "velké".
    24.3.2012 11:19 jano
    Rozbalit Rozbalit vše Re: Velka cisla v C
    algoritmus square and multiply by to mal riesit pomerne rychlo a jednoducho
    pavlix avatar 24.3.2012 13:50 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Velka cisla v C
    +1
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.

    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.