<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-2"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    On 26.7.2011 0:14, Petr Tomasek wrote:
    <blockquote cite="mid:20110725221456.GA10810@ebed.etf.cuni.cz"
      type="cite">
      <pre wrap="">On Mon, Jul 25, 2011 at 11:38:34PM +0200, Milan B. wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">On 25.7.2011 23:26, Petr To¹ovskı wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="">Hledam hledam ale nenachazim. Uz i emaily se musi debugovat... :-)

</pre>
        </blockquote>
        <pre wrap="">je to v popise :

(radix&gt;0&amp;&amp;  radix&lt;= 16)
</pre>
      </blockquote>
      <pre wrap="">
pokud byste mel radix jako unsigned (nechapu, k cemu muze byt dobre signed),
</pre>
    </blockquote>
    <br>
    <code>void itoa(int input, char *buffer, int radix) je typicka
      deklaracia v stdlib.h (ak je tato funkcia implementovana). To som
      si nevymyslel sam.<br>
      <br>
    </code>
    <blockquote cite="mid:20110725221456.GA10810@ebed.etf.cuni.cz"
      type="cite">
      <pre wrap="">pak neni potreba psat radix&gt;0, anzto v podmince je to ekvivalentni prostemu radix,
tj. testovat na:

 (radix &amp;&amp; (radix&lt;=16))

</pre>
    </blockquote>
    <br>
    Co je samozrejme chybne, ako som sa zmienil v casti, ktoru ste
    odmazali. radix musi byt &gt;=2. Okrem toho to nebola podmienka v C,
    to bol slovne popisany constraint s kreativnym pouzitim syntaxe C. A
    nakoniec, ak uz teda potrebujete hnidopisit,  z hladiska formalnej
    spravnosti, radix nie je logicka hodnota, tak by nemal vystupovat
    ako operand logickeho vyrazu (to ze C interpretuje logicke hodnoty
    tak, ako ich interpretuje je sice pekne, ale to na veci nic nemeni).<br>
    <br>
    <blockquote cite="mid:20110725221456.GA10810@ebed.etf.cuni.cz"
      type="cite">
      <pre wrap="">Stejne tak v:
     do {
        s[i++] = "0123456789ABCDEF"[n % radix];
    } while ((n /= radix) &gt; 0);

to lze daleko jednoduseji zapsat jako:
    } while (n /= radix);
</pre>
    </blockquote>
    <br>
    Je to pravda, ale je to opat formalne nespravne. Vysledok vyrazu nie
    je logicka hodnota.<br>
    <br>
    <br>
    <blockquote cite="mid:20110725221456.GA10810@ebed.etf.cuni.cz"
      type="cite">
      <pre wrap="">Kdyz uz jsme u tech optimalizovanych zapisu. Ono se to pak i lip cte,
anzto tam clovek nema zbytecny balast... (a lip pise...)   ;-)

P.T.

</pre>
    </blockquote>
    <br>
  </body>
</html>