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 17:25 | IT novinky

Do prodeje (Farnell) se dostal jednodeskový počítač Tinker Board (unboxing). Jedná se o konkurenci Raspberry Pi 3 od společnosti Asus. Porovnání (jpg) těchto počítačů například na CNXSoft. Cena Tinker Boardu je 55 £.

Ladislav Hagara | Komentářů: 6
včera 14:44 | Zajímavý projekt

Byla zveřejněna pravidla hackerské soutěže Pwn2Own 2017, jež proběhne od 15. do 17. března v rámci bezpečnostní konference CanSecWes ve Vancouveru. Soutěžit se bude o více než milion dolarů v pěti kategoriích. Letos se bude útočit i na Ubuntu. Jedná se již o 10. ročník této soutěže.

Ladislav Hagara | Komentářů: 1
včera 13:33 | Nová verze

Po sedmi měsících vývoje od vydání verze 5.7 byla vydána verze 5.8 (YouTube) toolkitu Qt. Z novinek lze zmínit například Qt Lite pro vestavěná zařízení. Nově jsou plně podporovány moduly Qt Wayland Compositor (YouTube) a Qt SCXML (YouTube). Současně byla vydána verze 4.2.1 integrovaného vývojového prostředí (IDE) Qt Creator.

Ladislav Hagara | Komentářů: 1
včera 11:52 | Pozvánky

Lednový Prague Containers Meetup se koná ve čtvrtek 26. ledna 2017 od 18:00 v Apiary, Pernerova 49, Praha 8. Přijďte se podívat na přednášky o Enterprise Kubernetes a Jenkins as a code.

little-drunk-jesus | Komentářů: 0
včera 11:40 | Pozvánky

Program letošního ročníku konference Prague PostgreSQL Developer Days, která se koná již 15. a 16. února 2017 na ČVUT FIT, Thákurova 9, Praha 6, byl dnes zveřejněn. Najdete ho na stránkách konference včetně anotací přednášek a školení. Registrace na konferenci bude otevřena zítra (24. ledna) v brzkých odpoledních hodinách.

TomasVondra | Komentářů: 0
22.1. 02:20 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, upozorňuje na svém blogu, že nový Inkscape 0.92 rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Problém by měl být vyřešen v Inkscape 0.92.2 [reddit].

Ladislav Hagara | Komentářů: 0
22.1. 02:02 | Komunita

Øyvind Kolås, hlavní vývojář grafických knihoven GEGL a babl, které využívá grafický program GIMP, žádá o podporu na Patreonu. Díky ní bude moci pracovat na vývoji na plný úvazek. Milník 1000 $, který by stačil na holé přežití, se již téměř podařilo vybrat, dalším cílem je dosažení 2500 $, které mu umožní běžně fungovat ve společnosti.

xkomczax | Komentářů: 12
21.1. 23:54 | Pozvánky

DevConf.cz 2017, již devátý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne od pátku 27. ledna do neděle 29. ledna v prostorách Fakulty informačních technologií Vysokého učení technického v Brně. Na programu je celá řada zajímavých přednášek a workshopů. Letos je povinná registrace.

Ladislav Hagara | Komentářů: 0
21.1. 22:11 | Nová verze

Byla vydána verze 1.0.0 emulátoru terminálu Terminology postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
20.1. 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 7
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (11%)
 (2%)
 (73%)
 (3%)
 (10%)
Celkem 387 hlasů
 Komentářů: 31, poslední včera 19:19
Rozcestník
Reklama

Dotaz: Aritmetika v céčku

26.9.2008 19:41 c
Aritmetika v céčku
Přečteno: 498×
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: 71
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: 71
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: 71
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: 60 | 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.