Sak, zkus napsat tvuj program a pridej tm komentare, co to ma delat nebo si myslis, ze ma delat a co ti tam schazi dodelat a s cim si nevis rady. Pokud dokazes popsat, co ma ktera cast programu delat, tak ji obvykle taky dokazes napsat v kodu.
Mne hodne pomahalo promyslet si programy s papirem a tuzkou, kdyz slo o nejake slozite veci. Napsal jsem si tam, co chci mit na vystupu, tipnul nejake zaludne moznosti vstupu. A opravoval do tehdy, nez to vyhovelo vsem testovacim hodnotam. Pak presel k dalsi casti. Nebo na preskacku, odladil jednu cas pro nejake vstupni hodnoty...
Příspěvky odeslané z IP adresy 2001:718:2601:258:20fb:a6d:1022:30ed...–
peter
peter
Kdyz nevis, kudy kam... Co jsi nasla googlem?
google = pascal binary counting
https://www.tutorialspoint.com/…perators.htm
obvykle
x := b + c // scitani
x := b or c // binarni scitani
v := 123;
bit0 := v and 0x01; // nebo mozna pujde v & 1
bit1 := (v>>1) & 0x01;
v & 1 udela to, ze binarne ANDuje bity v, 00001111 and 00000001 = 00000001.
Shifty delaji to, ze rotuji bity doprava nebo doleva, 00001111>>1 = 000000111
if (v & 1 == 1) jestli se posledni bit vpravo ==1
Jestli potrebujes poscitat binarne vsechny bity cisla V, pak potrebujes cislo rotovat shifty a pouzit cyklus pro 8 bitu.
Je samozrejme otazka, zda pracujes s cisly (1, 2, 3... 255) nebo stringem '000000001'. U stringu musis nejakym zpusobem vybrat posledni cislo, prevest jej na cislo a pak jej muzes jako cislo ANDovat. Nebo to zpracujes pres prevadeni, jako string.
Tezko rict, jake mas zadani...