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 15:55 | Komunita

    O víkendu (15:00 až 23:00) probíha EmacsConf 2025, tj. online konference vývojářů a uživatelů editoru GNU Emacs. Sledovat ji lze na stránkách konference. Záznamy budou k dispozici přímo z programu.

    Ladislav Hagara | Komentářů: 0
    dnes 15:44 | Komunita

    Provozovatel internetové encyklopedie Wikipedia jedná s velkými technologickými firmami o uzavření dohod podobných té, kterou má s Googlem. Snaží se tak zpeněžit rostoucí závislost firem zabývajících se umělou inteligencí (AI) na svém obsahu. Firmy využívají volně dostupná data z Wikipedie k trénování jazykových modelů, což zvyšuje náklady, které musí nezisková organizace provozující Wikipedii sama nést. Automatické programy

    … více »
    Ladislav Hagara | Komentářů: 6
    dnes 15:22 | IT novinky

    Evropská komise obvinila síť 𝕏 z porušení unijních pravidel, konkrétně nařízení Evropské unie o digitálních službách (DSA). Vyměřila jí za to pokutu 120 milionů eur (2,9 miliardy Kč). Pokuta je podle názoru amerického ministra zahraničí útokem zahraničních vlád na americký lid. K pokutě se vyjádřil i americký viceprezident: „EU by měla podporovat svobodu projevu, a ne útočit na americké společnosti kvůli nesmyslům“.

    Ladislav Hagara | Komentářů: 5
    včera 17:11 | IT novinky

    Společnost Jolla spustila kampaň na podporu svého nového telefonu Jolla Phone se Sailfish OS. Dodání je plánováno na první polovinu příštího roku. Pokud bude alespoň 2 000 zájemců. Záloha na telefon je 99 €. Cena telefonu v rámci kampaně je 499 €.

    Ladislav Hagara | Komentářů: 23
    včera 15:11 | IT novinky

    Netflix kupuje Warner Bros. včetně jejích filmových a televizních studií HBO Max a HBO. Za 72 miliard dolarů (asi 1,5 bilionu korun).

    Ladislav Hagara | Komentářů: 2
    včera 14:11 | IT novinky

    V Las Vegas dnes končí pětidenní konference AWS re:Invent 2025. Společnost Amazon Web Services (AWS) na ní představila celou řadu novinek. Vypíchnout lze 192jádrový CPU Graviton5 nebo AI chip Trainium3.

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

    Firma Proxmox vydala novou serverovou distribuci Datacenter Manager ve verzi 1.0 (poznámky k vydání). Podobně jako Virtual Environment, Mail Gateway či Backup Server je založená na Debianu, k němuž přidává integraci ZFS, webové administrační rozhraní a další. Datacenter Manager je určený ke správě instalací právě ostatních distribucí Proxmox.

    |🇵🇸 | Komentářů: 8
    4.12. 23:44 | Nová verze

    Byla vydána nová verze 2.4.66 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 5 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    4.12. 14:00 | IT novinky

    Programovací jazyk JavaScript (Wikipedie) dnes slaví 30 let od svého oficiálního představení 4. prosince 1995.

    Ladislav Hagara | Komentářů: 0
    4.12. 04:22 | Bezpečnostní upozornění

    Byly zveřejněny informace o kritické zranitelnosti CVE-2025-55182 s CVSS 10.0 v React Server Components. Zranitelnost je opravena v Reactu 19.0.1, 19.1.2 a 19.2.1.

    Ladislav Hagara | Komentářů: 3
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (22%)
     (15%)
     (24%)
     (16%)
     (18%)
    Celkem 434 hlasů
     Komentářů: 18, poslední 2.12. 18:34
    Rozcestník

    Dotaz: Aritmetika v céčku

    26.9.2008 19:41 c
    Aritmetika v céčku
    Přečteno: 606×
    Zkouším v C spočítat jednoduchý příklad, ale nefunguje mi to.
    cislo[3] je 5
    
    tohle jde
    E_tttt = 5*1000;
    if (E_tttt==5000) { dalsi_fce; }
    
    
    tohle ne
    E_tttt = cislo[3]*1000;
    if (E_tttt==5000) { dalsi_fce; }
    
    Kde dělám chybu? Dočetl jsem se že proměnné v céčku jsou vlastně ukazatelé do paměti. Jestli to platí i pro čísla, jak tedy s nimi počítat?

    Odpovědi

    Luboš Doležel (Doli) avatar 26.9.2008 19:58 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    Tady chyba není, musíte ukázat skutečný kód.
    26.9.2008 20:03 c
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    Asi je problém v tom, že cislo je unsigned char. Obsah celé proměnné cislo je: 1222H.
    26.9.2008 20:42 c
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    Ani když to zkouším převést pomocí atoi, tak to nejde, překladač mi vypíše
    warning: passing argument 1 of ‘atoi’ discards qualifiers from pointer target type
    
    Luboš Doležel (Doli) avatar 26.9.2008 21:47 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    Zatím tu jen píšete nesourodé nesmysly :-) Dokud neukážete kód, tak vám nikdo konkrétně nepomůže.
    26.9.2008 22:42 c
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    To důležité jsem již napsal. Mám pole definované: volatile unsigned char cislo[8]; Pak cyklus while naplní pole znaky:
    cislo[i]=data;
    i++;
    
    Nakonec je pole cislo naplněno postupně 1,2,2,2,H cyklem while. Já potřebuju vytvořit 2 proměnné s obsahem 12 a 22 (tj. cislo[0] a cislo[1], cislo[2] a cislo[3] z tohoto pole. Tak jsem to chtěl udělat tak, že číslo vytvořím 1*10+2*1 a 2*10+2*1, proto to počítání, které mi ovšem provést nejde.
    Luboš Doležel (Doli) avatar 26.9.2008 22:53 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    Tak než to začnete násobit udělejte převod na int: int(cislo[x]). Jinak opravdu je nutné to volatile?
    26.9.2008 23:44 c
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    Takhle to nejde. error: expected expression before ‘int’
    26.9.2008 23:48 jiri-j
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    E_tttt = (int) cislo[3] * 1000;
    27.9.2008 00:58 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    Pravděpodobně je to další otázka týkající se programování mikroprocesoru (avr-gcc). V takovém případě je dost pravděpodobné, že se cislo mění někde v obsluze přerušení.
    Quando omni flunkus moritati
    27.9.2008 01:00 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    To důležité jsem již napsal.
    Jestli mám pravdu a je to opravdu program pro AVR, tak nenapsal. Minimálně chybí informace o tom, co je zač to "data" a kde se to vezme.
    Quando omni flunkus moritati
    27.9.2008 10:37 c
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    No není to pro avr, ale pokus o čtení dat ze zařízení(nevím co tam je za procesor), které vrací teploty z čidel a typ čidel po sériové lince. Komunikaci po lince jsem za tím nezkoumal, ale bral jsem inspiraci ze stránek věnujících se avr, v tom máte pravdu. Data zatím plním provizorně testovacím řetězcem a pokouším se s tím pracovat. Našel jsem řešení problému na googlu. Číslo dostanu zápisem cislo[3]-48. Ale nechápu proč?
    27.9.2008 12:29 johniez | skóre: 17 | blog: xyz | Praha
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    asi cislo[3] neni 5 ale '5'
    27.9.2008 13:09 c
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    A tím -48 dostanu intovou podobu jo? Stejně je to počítání v céčku docela zvláštní. Třeba pokus napíšu promenna2=5/promenna, tak je to spis vetsi nez 5, ale kdyz napisu
    promenna2=5
    promenna2/=promenna
    
    Tak je to spravne.
    27.9.2008 14:53 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    A tím -48 dostanu intovou podobu jo?
    '5' Znamená, že v té proměnné je uložen znak '5', ne číslo. Znak '5' je reprezentován hodnotou 53, viz ASCII tabulku znaků - např. www.asciitable.com. Číslice v té tabulce jdou po sobě, takže odečtením 48 (což je shodou okolností hodnota znaku '0') se dostane hodnota, která dané číslici odpovídá.
    // cislo[2] obsahuje přijatý znak '5'
    cislo[2] -= '0'; //je ekvivalentní k cislo[2] -= 48; protože znak '0' má hodnotu 48
    // cislo[2] nyní obsahuje hodnotu 5
    Quando omni flunkus moritati
    27.9.2008 15:46 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    A tím -48 dostanu intovou podobu jo? Stejně je to počítání v céčku docela zvláštní. Třeba pokus napíšu promenna2=5/promenna, tak je to spis vetsi nez 5, ale kdyz napisu
    promenna2=5
    promenna2/=promenna
    
    Tak je to spravne.
    Človeče ... venuj pár dní tomu, aby si sa naučil základy jazyka, v ktorom sa pokúšaš programovať. Tým nemyslím, že máš s každou blbosťou ísť do fóra. Tým myslím: zohnať si nejakú učebnicu/knihu, kde na prvých 10 stranách zistíš, ako veci v C fungujú. Nemusí to byť ani špeciálne o C. Postačí aj java, alebo v krajnom prípade Pascal. Môj dojem je taký, že nemáš šajnu o tom, ako vyzerá programovací jazyk. Nič ti nehovoria typy premenných, celočíselná aritmetika, reprezentácia dát v počítači, ... to fakt takto nejde. Skazilo ťa PHP?
    27.9.2008 16:23 c
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    Jo v php umím dobře.
    27.9.2008 16:32 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    A to je tá chyba. :) Php je beztypový jazyk, takže tam nie je problém napísať niečo ako '5'*10 (teda reťazec, ktorý obsahuje znak 5 vynásobiť číslom 10). 2/5 je v php 0,4, ale v C je to, pri celočíselnej aritmetike, 0. (a rozdielov je oveľa viac, stačí si prečítať nejaký návod k C)
    27.9.2008 17:41 c
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    Ještě k tomu dělení. Našel jsem akorát howto k c++, kde toto dělení asi funguje a někde jsem objevil zmínku o tom, že promenna=500/promenna2(promenna2=5) je výsledek "500/5", ale pokud použiju /= je výsledek "100". Je to tak?
    27.9.2008 17:54 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    Výsledok bude v oboch prípadoch 100 (ak ide o celočíselné delenie a dátové typy, ktoré sú použité pri premenných, majú potrebný rozsah).

    Ak má byť výsledok číslo, ktoré obsahuje niečo aj za desatinnou čiarkou, nemôže sa pre výsledok použiť celočíselný dátový typ a pri delení musí byť aspoň jedno číslo (je jedno, či je to čitateľ, alebo menovateľ), typu double (prípadne float alebo nejaký podobný dátový typ).
    27.9.2008 20:01 c
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    No nevím u toho prvního to každopádně 100 není. I když jsou obě čísla int a bez desetinných čárek.
    27.9.2008 20:10 johniez | skóre: 17 | blog: xyz | Praha
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    buhvi co tam zase posilas..
    27.9.2008 21:04 Andrej Herceg | skóre: 43
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    Ten program obsahuje nejaké tajné časti? Ak nie, tak by bolo jednoduchšie dať to sem úplne celé.
    e.lisak avatar 26.9.2008 21:06 e.lisak | skóre: 23
    Rozbalit Rozbalit vše Re: Aritmetika v céčku
    jakeho typu jsou ty promenne ? (s int by to melo fungovat)

    promenne jsou ukazatele - to plati pro pole a stringy
    rozumna napoveda je treba na http://c-faq.com/index.html kapitola 6, nebo v tistene podobe treba Herout (Pavel Herout:Ucebnice jazyka C, nakladatelstvi Kopp, nekolik vydani)
    strucne - nekdy je to adresa, nekdy obsah pameti nejakeho typu (cislo, znak, ukazatel na temer cokoli...) a pocitat(intove vypocty) se da s obojim (ale mel byste vedet, co presne chcete delat, a co delate).

    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.