<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=16848&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-11-19T19:07:55+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=16848&amp;mode</id>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2016-11-19T19:07:55+01:00</updated>
<published>2016-11-19T19:07:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175184#p175184</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175184#p175184"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175184#p175184"><![CDATA[
Nie raz trafiałem na tę informację o promocji do int i że można się na niej wyłożyć. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <br />Tylko to wredne przyzwyczajenie - wszyscy, ale nie ja.  <img src="https://forum.atnel.pl/images/smilies/icon_rolleyes.gif" alt=":roll:" title="Udaje, że to nie on" /> <br />Dobrze że żeśmy się pozbierali.  <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /> <div class="quotetitle">Jazio napisał(a):</div><div class="quotecontent"><br />Chodzi o kwestie zapisu. Zapomnieliśmy chyba o domyślnej promocji do int.<br /></div><br />Dzięki <strong>Jazio</strong><br />, to zdanie rozbłysło w moich ciemnych myślach, niczym pochodnia w forumowych lochach. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />o.. i znalazłem pigułkę.  <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" />  Dzięki <strong>Mirog</strong>. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 19 lis 2016, o 19:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-11-19T18:28:13+01:00</updated>
<published>2016-11-19T18:28:13+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175174#p175174</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175174#p175174"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175174#p175174"><![CDATA[
<div class="quotetitle">Jazio napisał(a):</div><div class="quotecontent"><br />Zatem jak kogoś wprowadziłem w błąd to przepraszam.<br /></div><br />Nie traktuj tego zbyt dosłownie - bo też nie miałem zamiaru ci dogryzać czy coś ... wręcz przeciwnie, dlatego postarałem się opisać kolejny przykład drobiazgowo ... co chyba świadczy (mam nadzieję) <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> o mojej dobrej woli <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 19 lis 2016, o 18:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-11-19T18:04:23+01:00</updated>
<published>2016-11-19T18:04:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175169#p175169</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175169#p175169"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175169#p175169"><![CDATA[
<div class="quotetitle">Jazio napisał(a):</div><div class="quotecontent"><br />Ja myślę, że ten akurat przypadek jest warty zapamiętania, bowiem opisywana przez kol. Mirka sytuacja problemowa z promocją do int dotyczyła głównie spraw, gdzie oczekujemy wyników o zakresie większym niż int.<br /></div><br />ZDECYDOWANIE nie piszę tego teraz żeby się z tobą sprzeczać - ale wprowadzasz w błąd i sam siebie i innych.<br /><br />Domyślna promocja do int wcale nie dotyczy spraw gdzie oczekujemy wyników o zakresie większym niż int <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> więc albo coś źle zrozumiałeś albo ... albo nie wiesz nadal co to znaczy, że kompilator DOMYŚLNIE bez jawnie określonego typu albo w miejscach gdzie nie może sobie zrobić niejawnego rzutowania na mniejszy typ zawsze przyjmie że ktoś działa na liczbie 16 bitowej<br /><br />i pierwszym lepszym przykładem który pokazuje, że się mylisz jest chociażby użycie zapisu<br /><br />[syntax=c]uint8_t tab&#91;&#93; = {<br />64,<br />~128<br />};[/syntax]<br /><br />i co ? Chcę mieć tablicę elementów 8-bitowych ... ale ostatni element chciałbym żeby miał wartość 0b01111111 tylko że wymyśliłem sobie, że zapiszę to w postaci zanegowanej liczby 128 ... <br /><br />no i proszę BACH!<br /><img src="https://obrazkiforum.atnel.pl/54/c927f47882d43ea30f67868b60576482.png" alt="Obrazek" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />ale jeśli wiem że domyślnie stałe dosłowne są również domyślnie promowane do 16 bitów to już zaczynam sobie zdawać sprawę co się stanie po zanegowaniu takiej wartości bez rzutowania ....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 19 lis 2016, o 18:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2016-11-19T18:01:22+01:00</updated>
<published>2016-11-19T18:01:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175168#p175168</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175168#p175168"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175168#p175168"><![CDATA[
Taka jest niestety &quot;uroda&quot; języka C, że dokonuje on niejawnych konwersji między typami. Często nie powoduje to problemów i wręcz jest wygodne, ale jak widać nie zawsze. W dodatku domyślne opcje kompilatora nie uwzględniają ostrzeżeń w potencjalnie niebezpiecznych sytuacjach.<br />Dlatego tak nieśmiało zaproponuję, żeby (szczególnie poleciłbym początkującym) dodać kompilatorowi opcję '-Wconversion', dzięki czemu kompilator będzie nas ostrzegał w sytuacjach, kiedy niejawna konwersja może spowodować problemy.<br />Aby to zrobić należałoby w polu o nazwie &quot;Other flags&quot; dopisać (jeśli już tam jest coś wpisane, najpierw dodać spację):<br /><br />-Wconversion<br /><br />Pole to znajduje się w opcjach projektu:<br /><ul><li>Eclipse<br />Project-&gt;Properties-&gt;C/C++ Build-&gt;Settings-&gt;AVR Compiler-&gt;Miscellaneous</li><li>Atmel Studio 7 (w wersji 6 jest chyba tak samo)<br />Project-&gt;Properties-&gt;Toolchain-&gt;AVR/GNU C Compiler-&gt;Miscellaneous</li></ul><br />Podejrzewam, że dodanie tej opcji prędzej naprowadziłoby w tej sytuacji na rozwiązanie problemu <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Oczywiście czasami możemy otrzymywać niepotrzebne ostrzeżenia. Można je jednak zlikwidować przez jawne rzutowanie, co pozwoli nam przy okazji zastanowić się, czy to rzutowanie nie wprowadzi nam błędu w wyniku operacji.<br /><br />Nikogo oczywiście na siłę do tego nie namawiam. Chciałem tylko zwrócić uwagę, że istnieje taka opcja <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 19 lis 2016, o 18:01</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-11-19T17:03:36+01:00</updated>
<published>2016-11-19T17:03:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175161#p175161</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175161#p175161"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175161#p175161"><![CDATA[
Ja to rozumiem tak:<br />Zakładając, że:<br />PORTA= 0b01000000;<br />rozpatrujemy taką operację:<br />PORTA= ~((~PORTA)&gt;&gt;1);<br />teraz następuje domyślna promocja do int czyli nie 8 bitów, a 16 bitów:<br />PORTA= ~((~0000000001000000)&gt;&gt;1);<br />po dokonaniu negacji:<br />PORTA= ~(1111111110111111&gt;&gt;1);<br />po dokonaniu przesunięcia bitowego w prawo:<br />PORTA= ~(1111111111011111);<br />a teraz ostatnie 8 bitów &quot;podanych&quot; na port A:<br />PORTA= 11011111;<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />Kolego Mirog no dokładnie!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 19 lis 2016, o 17:03</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mirog]]></name></author>
<updated>2016-11-19T16:57:45+01:00</updated>
<published>2016-11-19T16:57:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175160#p175160</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175160#p175160"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175160#p175160"><![CDATA[
Daro69 - dzięki <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Wartość początkowa (promocja do int):<br />0b 00000000 01111111<br />Negacja:<br />0b 11111111 10000000<br />Przesunięcie:<br />0b 11111111 11000000<br />Negacja: <br />0b 00000000 00111111<br /><br />itd. <br /><br />To by się zgadzało, faktycznie. Pozwolę sobie jednak być bardziej dociekliwy, kiedy mamy do czynienia z promocją do int? Tzn. rozumiem, że kompilator na czas swoich obliczeń bierze wsio i wrzuca jako int, tylko ciekawi mnie czemu tego nie robi w takim zapisie:<br /><br />[syntax=c]PORTC = ~PORTC;<br />PORTC = ~(PORTC&gt;&gt;1);[/syntax]<br /><br />?<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 5 minutach ]</span></strong><br /><br />Wartość początkowa (promocja do int):<br />0b 00000000 01111111<br />Negacja:<br />0b 11111111 10000000<br /><br />PORTC przyjmuje już wartość: 0b 10000000<br /><br />Przesunięcie:<br />0b 00000000 01000000<br />Negacja:<br />0b 11111111 10111111<br /><br />To chyba sobie sam odpowiedziałem <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 5 minutach ]</span></strong><br /><br />Panowie, dziękuję serdecznie za pomoc!<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15328">Mirog</a> — 19 lis 2016, o 16:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-11-19T15:57:26+01:00</updated>
<published>2016-11-19T15:57:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175154#p175154</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175154#p175154"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175154#p175154"><![CDATA[
<div class="quotetitle">Mirog napisał(a):</div><div class="quotecontent"><br />Panie Mirku, to nie tak, że od razu obwiniam kompilator, jednak po paru dniach spędzonych przy tym po prostu zacząłem wymiękać<br /></div><br />Rozumiem, ale jeszcze raz powtórzę - gdyby kompilator C miał się wykładać na (proszę mi wybaczyć) tak MEGA PROSTYCH przypadkach - to praktycznie co drugi projekt byłby skopany w setkach miejsc ... w ogóle programy żyłyby własnym życiem. Więc zawsze po prostu proponuję <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> odrobinę pokory - bo ona wg mnie pozwala nieco szybciej się uczyć ... i szukać dobrych rozwiązań. Zaś pośpiech i niecierpliwość jak widać do niczego nie prowadzą ... I tylko o to mi chodzi ....<br /><br /><br /><div class="quotetitle">Jazio napisał(a):</div><div class="quotecontent"><br />Ja nie zakładam, że kompilator jest idealny<br /></div><br />Powtórzę jeszcze raz - błąd przy TAK PROSTEJ operacji w kompilatorze doprowadzałby do GIGANTYCZNEJ ilości błędów w generowanym prawie każdym kodzie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Poza tym moje słowa nie były skierowane do ciebie bo ty zareagowałeś jak dla mnie ... wzorcowo <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> i nie chodzi tu o moją ocenę - tylko o wzór dla całkiem początkujących czytających to forum ... zacytuję twój fragment wypowiedzi:<br /><br /><div class="quotetitle">Jazio napisał(a):</div><div class="quotecontent"><br />Wygląda na to że, dokonywana jest jakby analiza kodu i dwie negacje się znoszą. Tylko nie rozumiemdlaczego ignorowane są nawiasy.<br /></div><br />... co pokazuje - że SZUKASZ i słusznie DALEJ ... rozwiązania problemu - a nie &quot;ręką w stół&quot; i ... &quot;kompilator zepsuty&quot; <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br /><br />sorki, że tak troszkę jakby nie na temat w tym wątku mówię - ale to ważne dla tych którzy zaczynają się uczyć programowania - i czytać będą to za jakiś czas <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... warto szukać a nie obarczać winą kompilatorów szczególnie przy tak błahych operacjach <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Na zakończenie dodam, że ów KOMPILATOR - to nie jakieś &quot;zwierzę, które samo się narodziło i ma jakieś błędy genetyczne&quot; .... taki kompilator pisały całe zespoły ludzi i testowały od lat ... OWSZEM - pewnie, że do dzisiaj pojawiają się aktualizacje i usuwanie BUG'ów ... ale proponuję sobie zajrzeć na grupy dyskusyjne na temat obecnych błędów w kompilatorach .... to sądzę, że włosy się zjeżą na głowie - gdy zobaczycie z czym tam się się można spotkać i z jak skomplikowanymi zagadnieniami albo ew z jakimiś błędami dla np nowo wprowadzanych procków czy też dla procków co do których np sam Atmel podał np w nocie złe dane na temat działania niektórych rozkazów asm ....<br /><br /><div class="quotetitle">Jazio napisał(a):</div><div class="quotecontent"><br />Ja nie zakładam, że kompilator jest idealny  To w końcu też program komputerowy. A jak mówią informatycy, każdy program ma jakiś błąd.<br />Mam kontakt z wieloma programami i niejednokrotnie zgłaszałem do autorów błędy w działaniu. I to nie takie oczywiste, lecz takie które występują w bardzo specyficznych sytuacjach. Zatem nie można zakładać ze kompilator nie ma błędu.<br /></div><br />Nikt nie zakłada, że kompilator nie ma błędu ale porównywanie jakiegoś tam .... programu komputerowego i błędów w nim do kompilatora <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... to już lekki kosmos <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> delikatnie mówiąc ... Bo &quot;jakiś tam twój program&quot; jest używany załóżmy przez X użytkowników, zaś kompilator przez setki tysięcy razy więcej developerów takich &quot;jakichś programów&quot; <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><div class="quotetitle">Jazio napisał(a):</div><div class="quotecontent"><br />A to wszystko wynika z faktu, iż podczas kompilacji występuje optymalizacja i to że my piszemy funkcję przesunięcia bitowego, wcale nie oznacza, iż kompilator użyje takich poleceń ASM (np. LSR).<br /></div><br />Bo to jest programowanie w C a nie w Asemblerze - i żaden kompilator C nie zagwarantuje ci że za każdym razem tak samo wygeneruje kod w ASM jeśli nawet zmieni się w okolicy jakaś drobna rzecz. Wystarczy o takiej prostej zasadzie pamiętać/wiedzieć - jak się programuje w C<br /><br /><div class="quotetitle">Jazio napisał(a):</div><div class="quotecontent"><br />W tym przypadku, po kilku godzinach analiz różnych kodów ASMa udało mi się zobaczyć mechanizm działania dla tego przypadku.<br /></div><br />I to jest właśnie cierpienie wszystkich, którzy z kolej przesiadają się z asemlera na C .... wciąż chcą patrzeć na ten język przez pryzmat asemblera <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ot takie nawyki - które czasem powodują, że długo nie mogą się przesiąść w pełni na C. Ja tu nie mówię tego konkretnie do ciebie - tylko że TAKI właśnie efekt mają zwykle asemblerowcy przechodzący na C <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Ale pocieszające, że jeszcze gorzej mają np ci którzy przechodzą z Bascoma na C a długo wcześniej pracowali w Bascomie - wtedy boli jeszcze dłużej ale też da radę.... Podobnie z przechodzeniem z Arduino na C ... choć tu już jest ciut bliżej <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />--------------------------------------------------<br /><br />Na zakończenie powiem, że prawie od początku wątku go sobie obserwowałem - ale z uwagi na to, że moich podpowiedzi na forum typu<br /><br />PROMOCJA DO INT <br /><br />są już chyba setki jak nie tysiące - to czekałem kto i kiedy wpadnie tutaj na to <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ale jak widać się udało i fajnie ! <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 19 lis 2016, o 15:57</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2016-11-19T15:37:06+01:00</updated>
<published>2016-11-19T15:37:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175150#p175150</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175150#p175150"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175150#p175150"><![CDATA[
O kurczaki. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Promocja do int. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />No teraz to się rozumie.<br />Kol Mirog , zerknij na binarny zapis liczby int. I wszystko jasne.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 19 lis 2016, o 15:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mirog]]></name></author>
<updated>2016-11-19T15:24:29+01:00</updated>
<published>2016-11-19T15:24:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175147#p175147</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175147#p175147"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175147#p175147"><![CDATA[
Panie Mirku, to nie tak, że od razu obwiniam kompilator, jednak po paru dniach spędzonych przy tym po prostu zacząłem wymiękać <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> Panowie, nie za bardzo rozumiem może, jednak, zgodnie z tym co napisał kolega anshar &quot;Przesunięcie w prawo oznacza przemieszczenie wszystkich bitów argumentu w prawo o określoną liczbę miejsc oraz powielenie najstarszego bitu na skrajnej lewej pozycji&quot;, gdy mam wartość początkową na porcie C:<br />011111111<br />następnie po zanegowaniu:<br />100000000<br />i przesunięciu:<br />110000000<br />i ponownym zanegowaniu:<br />001111111<br />mogłoby tak być. Czy oznacza to, że jeżeli startowałbym od wartości:<br />101111111<br />negujemy:<br />010000000<br />przesuwamy:<br />001000000<br />oraz znowu negujemy :<br />110111111<br />powinno być wszystko ok ? <br />Pytam ponieważ nie działa to prawidłowo, natomiast bardzo mnie to dręczy.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 5 minutach ]</span></strong><br /><br />Czy mógłbym prosić o wyjaśnienie jaki wpływ ma rzutowanie na działanie tego programu?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15328">Mirog</a> — 19 lis 2016, o 15:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-11-19T15:07:51+01:00</updated>
<published>2016-11-19T15:07:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175142#p175142</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175142#p175142"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175142#p175142"><![CDATA[
Brawo Jazio!<br />O to chodzi.  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> <br />Przesunięcie w lewą stronę oznacza przemieszczenie wszystkich bitów argumentu w lewo o określoną liczbę miejsc oraz wprowadzenie z prawej strony takiej samej ilości zer.<br />Przesunięcie w prawo oznacza przemieszczenie wszystkich bitów argumentu w prawo o określoną liczbę miejsc oraz powielenie najstarszego bitu na skrajnej lewej pozycji. <br />Dlatego problem występuje tylko dla przesunięcia w prawo.<br /><br />Dodam jeszcze, że tą linijkę:<br />[syntax=c]PORTC = ~((uint8_t)(~PORTC)&gt;&gt;1);[/syntax]<br />można zastąpić:<br />[syntax=c]PORTC = ~( (~PORTC &amp; 255)&gt;&gt;1 );[/syntax]<br />lub nawet:<br />[syntax=c]PORTC = ~( (255 - PORTC) &gt;&gt; 1);[/syntax]<br /><br />Sprawdźcie sami!  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 19 lis 2016, o 15:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2016-11-19T15:07:01+01:00</updated>
<published>2016-11-19T15:07:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175141#p175141</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175141#p175141"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175141#p175141"><![CDATA[
<div class="quotetitle">Mirog napisał(a):</div><div class="quotecontent"><br />Czy to jakiś błąd kompilatora ?<br /></div><br /><br />Jak ja &quot;kocham&quot; takie wypowiedzi <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... masakra .... jak tylko komuś coś nie działa - to zamiast szukać błędu u siebie to od razu &quot;aaaa pewnie to wina kompilatora!&quot; <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... procka, scalaka itp itd .... no bo ja WSZYSTKO dobrze przecież zrobiłem <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> .... <br /><br /><div class="quotetitle">Jazio napisał(a):</div><div class="quotecontent"><br />Zapomnieliśmy chyba o domyślnej promocji do int.<br /></div><br />Nie chyba a &quot;na pewno&quot; <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... i rzutowanko na (uint8_t) załatwia jak widać sprawę jak należy <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 19 lis 2016, o 15:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mirog]]></name></author>
<updated>2016-11-19T11:14:32+01:00</updated>
<published>2016-11-19T11:14:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175122#p175122</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175122#p175122"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175122#p175122"><![CDATA[
Co ciekawsze przesuwanie w lewo w ten sposób:<br />[syntax=c]PORTC = ~((~PORTC)&lt;&lt;1);[/syntax]<br />realizowane jest jako suma wartości na PORTC z wartością PORTC oraz sumy bitowej wyniku z wartością &quot;1&quot;, co oczywiście działa poprawnie jeśli chodzi o zamysł programu w C:<br />[syntax=asm]0000006c &lt;main&gt;:<br />  6c:8f ef       ldir24, 0xFF; 255<br />  6e:84 bb       out0x14, r24; 20<br />  70:8e ef       ldir24, 0xFE; 254<br />  72:85 bb       out0x15, r24; 21<br />  74:85 b3       inr24, 0x15; 21<br />  76:88 0f       addr24, r24<br />  78:81 60       orir24, 0x01; 1<br />  7a:fb cf       rjmp.-10     ; 0x72 &lt;main+0x6&gt;[/syntax]<br /> kiedy przesuwanie w prawo:<br />[syntax=c]PORTC = ~((~PORTC)&gt;&gt;1);[/syntax]<br />wykonywane jest już instrukcją Logical Shift Right (LSR) i faktycznie jak kolega Jazio zauważył brakuje tam instrukcji negacji bitów - COM (tak jakby dwie negacje w języku C się niwelowały). W przypadku:<br />[syntax=c]PORTC = ~PORTC;<br />PORTC = ~((PORTC)&gt;&gt;1);[/syntax]<br />oraz [syntax=c]PORTC = ~((PORTC = ~PORTC)&gt;&gt;1);[/syntax]<br />instrukcja negacji w kodzie ASM występuje podwójnie i wszystko działa jak należy. <br />Czy to jakiś błąd kompilatora ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15328">Mirog</a> — 19 lis 2016, o 11:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mirog]]></name></author>
<updated>2016-11-18T19:25:45+01:00</updated>
<published>2016-11-18T19:25:45+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175094#p175094</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175094#p175094"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175094#p175094"><![CDATA[
Kopiuję prosto z Eclipsa. Reasumując, przesuwanie w lewo działa:<br /><br />[syntax=c]int main(void)<br />{<br />DDRC = 0b11111111;<br />PORTC = 0b11111110;<br />_delay_ms(500);<br />while(1)<br />{<br />PORTC = ~((~PORTC)&lt;&lt;1);<br />_delay_ms(200);<br />}<br />}[/syntax]<br />W prawo nie chce:<br /><br />[syntax=c]int main(void)<br />{<br />DDRC = 0b11111111;<br />PORTC = 0b01111111;<br />_delay_ms(500);<br />while(1)<br />{<br />PORTC = ~((~PORTC)&gt;&gt;1);<br />_delay_ms(200);<br />}<br />}[/syntax]<br /><br />Chyba, że z zapisem:<br /><br />[syntax=c]PORTC = ~PORTC;<br />PORTC = ~((PORTC)&gt;&gt;1);[/syntax]<br /><br />lub jak kolega anshar podpowiedział:<br /><br />[syntax=c]PORTC = ~((PORTC = ~PORTC)&gt;&gt;1);[/syntax]<br /><br />Na zmiennej również próbowałem i nie działa nawet w takim zapisie:<br />[syntax=c]int main(void)<br />{<br />DDRC = 0b11111111;<br />uint8_t zm = 0b01111111;<br />_delay_ms(500);<br />while(1)<br />{<br />zm = ~((~zm)&gt;&gt;1);<br />PORTC = zm;<br />_delay_ms(200);<br />}<br />}[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 14 minutach ]</span></strong><br /><br />Na temat priorytetów również się zastanawiałem, jednak miałoby to sens, gdyby w obu przypadkach (przesuwanie w lewo i w prawo) nie działało. Jedyna różnica w sumie jaka jest to różnica w operatorach &quot;&lt;&lt;&quot; --&gt; &quot;&gt;&gt;&quot;. To tak jakby przesuwanie w prawo powodowało dopełnienie jedynkami gdzieś po drodze, no ale jak, dlaczego ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15328">Mirog</a> — 18 lis 2016, o 19:25</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-11-18T19:23:12+01:00</updated>
<published>2016-11-18T19:23:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175093#p175093</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175093#p175093"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175093#p175093"><![CDATA[
Chodzi tutaj o priorytety i łączność operatorów. Operatory &quot;&lt;&lt;&quot; i &quot;&gt;&gt;&quot; mają łączność lewostronną i mają wyższy priorytet niż operator przypisania &quot;=&quot;, który ma łączność prawostronną. Dlatego stosuje się nawiasy, by to zmienić tak jak sobie programista życzy.  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />Zobaczcie w BB (strona 107).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 18 lis 2016, o 19:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mirog]]></name></author>
<updated>2016-11-18T19:10:11+01:00</updated>
<published>2016-11-18T19:10:11+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175089#p175089</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175089#p175089"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175089#p175089"><![CDATA[
Daro69, na zmiennej już próbowałem i jest to samo.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15328">Mirog</a> — 18 lis 2016, o 19:10</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2016-11-18T19:09:20+01:00</updated>
<published>2016-11-18T19:09:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175088#p175088</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175088#p175088"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175088#p175088"><![CDATA[
myślę że na zmiennej, zamiast na PORTC - by się udało.<br />Może trzeba by się zagłębić w makro PORTC ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 18 lis 2016, o 19:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mirog]]></name></author>
<updated>2016-11-18T19:09:27+01:00</updated>
<published>2016-11-18T19:06:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175087#p175087</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175087#p175087"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175087#p175087"><![CDATA[
Panowie, program oczywiście niczemu nie służy, po prostu trafiłem na niezrozumiałą dla mnie rzecz. <br /><br />anshar, ten zapis:<br /><br />[syntax=c]PORTC = ~((PORTC = ~PORTC)&gt;&gt;1);[/syntax]<br /><br /> działa poprawnie, jaka zatem jest różnica ? No i dlaczego przesuwanie w lewo z takim zapisem:<br /><br />[syntax=c]PORTC = ~((~PORTC)&lt;&lt;1);[/syntax]<br /><br />działa, natomiast w prawą stronę nie ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15328">Mirog</a> — 18 lis 2016, o 19:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro69]]></name></author>
<updated>2016-11-18T19:06:04+01:00</updated>
<published>2016-11-18T19:06:04+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175086#p175086</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175086#p175086"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175086#p175086"><![CDATA[
O kurczaki, <img src="https://forum.atnel.pl/images/smilies/icon_eek.gif" alt=":shock:" title="Zaszokowany" /> <br />I mi się już pokićkało.   <img src="https://forum.atnel.pl/images/smilies/icon_lol.gif" alt=":lol:" title="Śmieje się" /> <br /><br />No bo to wydaje się logiczne.<br />zamiast pisać:<br />[syntax=c]PORTC = ~PORTC;<br />PORTC = ~(PORTC&gt;&gt;1);[/syntax]<br />To napisać:<br />[syntax=c]PORTC = ~((~PORTC)&gt;&gt;1);[/syntax]<br />Gdzie tu chochlik ?  <img src="https://forum.atnel.pl/images/smilies/icon_e_confused.gif" alt=":?" title="Boi się" /><br />Czy wartość PORTC pobierana jest do obliczeń tylko raz? czy co ?  <img src="https://forum.atnel.pl/images/smilies/icon_rolleyes.gif" alt=":roll:" title="Udaje, że to nie on" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11549">Daro69</a> — 18 lis 2016, o 19:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jerrylu]]></name></author>
<updated>2016-11-18T18:59:57+01:00</updated>
<published>2016-11-18T18:59:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175085#p175085</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175085#p175085"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175085#p175085"><![CDATA[
Squeez, nie wiem jak pytający kolega, ale ja nie widzę. Zafiksowałem się czy cóś <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />Wg mnie to dokładnie to samo, biorąc pod uwagę negację portu we wcześniejszym wierszu:<br />[syntax=c]PORTC = ~PORTC;<br />PORTC = ~(PORTC&gt;&gt;1);[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8719">jerrylu</a> — 18 lis 2016, o 18:59</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[anshar]]></name></author>
<updated>2016-11-18T18:55:33+01:00</updated>
<published>2016-11-18T18:55:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175083#p175083</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175083#p175083"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175083#p175083"><![CDATA[
[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />int main(void)<br />{<br />DDRC = 0b11111111;<br />PORTC = 0b01111111;<br /><br />while(1)<br />{<br /><br />PORTC = ~((PORTC = ~PORTC)&gt;&gt;1);<br /><br />_delay_ms(200);<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=7157">anshar</a> — 18 lis 2016, o 18:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jerrylu]]></name></author>
<updated>2016-11-18T18:47:56+01:00</updated>
<published>2016-11-18T18:47:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175081#p175081</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175081#p175081"/>
<title type="html"><![CDATA[Re: Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175081#p175081"><![CDATA[
Ciekawe zachowanie. W obydwu przypadkach PORTC jest i tak negowany przed przesuwaniem. Albo czegoś nie dostrzegam... <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Nie mogę przetestować teraz na &quot;żywym organizmie&quot;.<br />Tak, czy inaczej skoro i tak sam wpisujesz zawartość portu C, <br />to dlaczego wpisujesz w sposób wymagający negowania?<br />Dla uzyskania tego efektu wpisujesz odwrócone bity i nie negujesz ich już w kodzie przed przesuwaniem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8719">jerrylu</a> — 18 lis 2016, o 18:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Mirog]]></name></author>
<updated>2016-11-18T18:07:25+01:00</updated>
<published>2016-11-18T18:07:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175077#p175077</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175077#p175077"/>
<title type="html"><![CDATA[Przesunięcie bitowe w prawo - problem]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=16848&amp;p=175077#p175077"><![CDATA[
Witam wszystkich bardzo serdecznie! Zaczynam dopiero swoją przygodę z programowaniem w języku C, dlatego proszę o wyrozumiałość. Posiadam zestaw ATB rev. 1.04b, podłączam diody LED do całego portu i próbuję &quot;przesuwać&quot; zapaloną diodę w lewo:<br /><br />[syntax=c]int main(void) <br />{<br /><br />DDRC = 0b11111111;<br />PORTC = 0b11111110;<br />        _delay_ms(200);<br /><br />while(1)<br />        {<br />PORTC = ~((~PORTC)&lt;&lt;1);<br />_delay_ms(200);<br />        }<br />}[/syntax]<br /><br />w efekcie czego zapalona dioda &quot;przesuwa&quot; się z prawej do lewej. Podczas gdy próbuję &quot;przesuwać&quot; w drugim kierunku - w prawo:<br /><br />[syntax=c]int main(void)<br />{<br /><br />DDRC = 0b11111111;<br />PORTC = 0b01111111;<br />        _delay_ms(200);<br /><br />while(1)<br />        {<br />PORTC = ~((~PORTC)&gt;&gt;1);<br />_delay_ms(200);<br />        }<br />}[/syntax]<br /><br />, diody kolejno mi się zapalają od lewej, wygląda to tak:<br />01111111<br />00111111<br />00011111<br />00001111<br />00000111<br />00000011<br />00000001<br />00000000<br /><br />Co ciekawe, kiedy program wygląda tak:<br /><br />[syntax=c]int main(void) <br />{<br /><br />DDRC = 0b11111111;<br />PORTC = 0b01111111;<br />        _delay_ms(200);<br /><br />while(1)<br />        {<br />                PORTC = ~PORTC;<br />PORTC = ~(PORTC&gt;&gt;1);<br />_delay_ms(200);<br />        }<br />}[/syntax]<br /><br />wszystko działa jak należy, tzn. zapalona dioda &quot;przesuwa&quot; się:<br />01111111<br />10111111<br />11011111<br />11101111<br />11110111<br />11111011<br />11111101<br />11111110<br />11111111<br /><br />w takiej sytuacji, postanowiłem napisać na forum z zapytanie czy ktoś z Państwa wie jak zinterpretować działanie programu przypadku, gdy stosujemy negację w jednym wyrażeniu?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15328">Mirog</a> — 18 lis 2016, o 18:07</p><hr />
]]></content>
</entry>
</feed>