<?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=27&amp;t=24290&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2022-07-22T19:47:46+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=27&amp;t=24290&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2022-07-22T19:47:46+01:00</updated>
<published>2022-07-22T19:47:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24290&amp;p=235883#p235883</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24290&amp;p=235883#p235883"/>
<title type="html"><![CDATA[Re: Język C, negacja binarna... ciekawy przypadek... i zagad]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24290&amp;p=235883#p235883"><![CDATA[
jak zobaczyłem<br /><br />#define VAL 1 &lt;&lt; 4 | 1 &lt;&lt; 5<br /><br />i później przypisanie z ~ to od razu pomyślałem o domyślnej promocji <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ale to musiałby być najstarszy bit ustawiany a tu tylko 4ty i 5ty <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> więc skucha<br /><br />andrews zawsze czujny ! <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> i dobrze prawi<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 22 lip 2022, o 19:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[moscow]]></name></author>
<updated>2022-07-22T19:27:44+01:00</updated>
<published>2022-07-22T19:27:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24290&amp;p=235882#p235882</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24290&amp;p=235882#p235882"/>
<title type="html"><![CDATA[Re: Język C, negacja binarna... ciekawy przypadek... i zagad]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24290&amp;p=235882#p235882"><![CDATA[
<div class="quotetitle">mirekk36 napisał(a):</div><div class="quotecontent"><br />[...]<br />krótko mówiąc - wiedząc co to domyślna promocja to tam gdzie masz dziwne wartości wystarczy albo należy zrobić jawne rzutowanie do uint8_t i po kłopocie<br />[...]<br /></div><br />Hehe... też na początku myślałem, że to jest to, ale tym razem rację ma <em>andrews</em><br /><br /><div class="quotetitle">andrews napisał(a):</div><div class="quotecontent"><br />Brak nawiasów w definicji:<br /><br />#define VAL 1 &lt;&lt; 4 | 1 &lt;&lt; 5<br />[...]<br /></div><br /><br /><strong>Gratulacje!</strong><br /><br />Najśmieszniejsze jest to, że zaczęło się od tego, że pamiętałem o nawiasach, ale przez jakąś pomroczność jasną dałem tyldę wewnątrz nawiasu. Co jeszcze ciekawsze - akurat w tym programie &quot;prawie wszystko&quot; co było potrzebne działało dobrze. Został jeden kontest &quot;zagadka&quot;, który robił coś dziwnego... i tak trafiłem na tego babola <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=20760">moscow</a> — 22 lip 2022, o 19:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[andrews]]></name></author>
<updated>2022-07-22T17:37:37+01:00</updated>
<published>2022-07-22T17:37:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24290&amp;p=235881#p235881</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24290&amp;p=235881#p235881"/>
<title type="html"><![CDATA[Re: Język C, negacja binarna... ciekawy przypadek... i zagad]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24290&amp;p=235881#p235881"><![CDATA[
Brak nawiasów w definicji:<br /><br />#define VAL 1 &lt;&lt; 4 | 1 &lt;&lt; 5<br /><br />spowoduje, że wynik operacji:<br /><br />uint8_t t1 = VAL;<br />uint8_t t2 =  ~t1;<br /><br />nie będzie taki sam, jak:<br /><br />uint8_t t5 =  ~VAL;<br /><br />choć teoretycznie powinien być.<br /><br />Spowodowane jest to brakiem nawiasów w definicji i priorytetami operatorów (<a href="https://en.cppreference.com/w/c/language/operator_precedence"  class="postlink">&quot;C operator precedence&quot;</a>). Operator negacji bitowej <strong>~</strong> ma wyższy priorytet niż operacja przesunięcia <strong>&lt;&lt;</strong> oraz alternatywa bitowa <strong>|</strong><br />Dlatego ważne jest stosowanie nawiasów w definicjach:<br /><br />#define VAL (1 &lt;&lt; 4 | 1 &lt;&lt; 5)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14165">andrews</a> — 22 lip 2022, o 17:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2022-07-22T15:43:57+01:00</updated>
<published>2022-07-22T15:43:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24290&amp;p=235878#p235878</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24290&amp;p=235878#p235878"/>
<title type="html"><![CDATA[Re: Język C, negacja binarna... ciekawy przypadek... i zagad]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24290&amp;p=235878#p235878"><![CDATA[
Już bardzo bardzo dawno temu, jeszcze w czasach pierwszego wydania Bluebooka było to wyjaśniane <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> zajrzyj na mojego bloga<br /><br /><!-- m --><a class="postlink" href="https://atnel.pl/domyslna-promocja-do-typu-int.html" >https://atnel.pl/domyslna-promocja-do-typu-int.html</a><!-- m --><br /><br />krótko mówiąc - wiedząc co to domyślna promocja to tam gdzie masz dziwne wartości wystarczy albo należy zrobić jawne rzutowanie do uint8_t i po kłopocie<br /><br />Warto pamiętać o domyślnej promocji w C<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 22 lip 2022, o 15:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[moscow]]></name></author>
<updated>2022-07-22T14:17:57+01:00</updated>
<published>2022-07-22T14:17:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24290&amp;p=235875#p235875</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24290&amp;p=235875#p235875"/>
<title type="html"><![CDATA[Język C, negacja binarna... ciekawy przypadek... i zagadka]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24290&amp;p=235875#p235875"><![CDATA[
Ostatnio wpakowałem się na ciekawą minę przy pisaniu jednego programu. Doszedłem po chwili o co chodzi, ale pomyślałem, że inne osoby też mogłyby się chwilę pogłowić <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":-)" title="Szczęśliwy" /><br /><br />Pyanie brzmi - jakie wartości przyjmą zmienne t1 do t7 - i dlaczego niektóre z nich są różne ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><br /><br /><br />[syntax=c]#define VAL 1 &lt;&lt; 4 | 1 &lt;&lt; 5<br /><br />int main(void) {<br />uint8_t t1 = VAL;<br />uint8_t t2 =  ~t1;<br />uint8_t t3 = ~(t1);<br />uint8_t t4 = (~t1);<br /><br />uint8_t t5 =  ~VAL;<br />uint8_t t6 = ~(VAL);<br />uint8_t t7 = (~VAL);<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=20760">moscow</a> — 22 lip 2022, o 14:17</p><hr />
]]></content>
</entry>
</feed>