<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/sakat/">
    <title>sakat @ ウィキ</title>
    <link>http://w.atwiki.jp/sakat/</link>
    <atom:link href="https://w.atwiki.jp/sakat/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>sakat @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2008-03-15T10:40:38+09:00</dc:date>
    <utime>1205545238</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/sakat/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/sakat/pages/15.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/sakat/pages/14.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/sakat/pages/12.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/sakat/pages/10.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/sakat/pages/9.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/sakat/pages/8.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/sakat/pages/7.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/sakat/pages/6.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/sakat/pages/5.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/sakat/pages/16.html">
    <title>GMPを使ってDBL_MAXの文字列をdoubleに変換するルーチン</title>
    <link>https://w.atwiki.jp/sakat/pages/16.html</link>
    <description>
      //c/linenumber
/*

  dbl_max_gmp.c

  GMPを用いて、DBL_MAXの値(10進数文字列)をdoubleに変換する。

  コンパイル:
  % cl /Ic:\include dbl_max_gmp.c gmp.lib /link /LIBPATH:c:\lib

  実行例:
  % ./dbl_max_gmp
     mpf = 0.17976931348623158e309
  double =  1.79769313486231570e+308

 */

#include &lt;stdio.h&gt;
#include &lt;float.h&gt;
#include &lt;string.h&gt;
#include &quot;gmp.h&quot;

#define LOG_TEN_TWO  3.32192809488736234789
#define bprec(n) (int)(((n+10)*LOG_TEN_TWO)+2)

void atompf(char s[], mpf_t mp);

main()
{
    mpf_t f;
    long prec, dprec;
    
    dprec = 1000L;  /* decimal precision */
    prec = bprec(dprec);    /* binary precision (plus alpha) */
    mpf_set_default_prec(prec);
    
    mpf_init(f);
    atompf(&quot;1.7976931348623158e+308&quot;, f);   /* DBL_MAX in Visual C++ */

    printf(&quot;   mpf = &quot;);
    mpf_out_str(stdout, 10, dprec + 10, f);
    putchar(&#039;\n&#039;);
    printf(&quot;double = %25.17e\n&quot;, mpf_get_d(f));

    return 0;
}

/* atompf:  convert a string into multi-precision floatin    </description>
    <dc:date>2008-03-15T10:40:38+09:00</dc:date>
    <utime>1205545238</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/sakat/pages/15.html">
    <title>IEEE_754単精度の足し算を行うルーチン</title>
    <link>https://w.atwiki.jp/sakat/pages/15.html</link>
    <description>
      //c/linenumber
#define BITSHIFT 5  /* additional bit shift to avoid rounding errors */

/* add:  returns z which is the sum of x and y */
void add(float *zp, const float *xp, const float *yp)
{
  unsigned long x, sx, ex, fx;
  unsigned long y, sy, ey, fy;
  unsigned long z, sz, ez, fz;
  int d, p;

  /* get the bit pattern of each floting-point */
  x = *(unsigned long *)xp;
  y = *(unsigned long *)yp;

  /* sign */
  sx = x &gt;&gt; 31;
  sy = y &gt;&gt; 31;
  /* exponential part */
  ex = (x &amp; 0x7fffffffUL) &gt;&gt; 23;
  ey = (y &amp; 0x7fffffffUL) &gt;&gt; 23;
  /* fractional part */
  fx = (x &amp; 0x007fffffUL) | (1UL &lt;&lt; 23);
  fy = (y &amp; 0x007fffffUL) | (1UL &lt;&lt; 23);

  /* additional bit shift to avoid rounding errors */
  fx &lt;&lt;= BITSHIFT;
  fy &lt;&lt;= BITSHIFT;

  /* shift the bits of fractional part to conform the exponential part. 
      This may cause a round error. */
  d = ex - ey;
  if (d &gt; 0) {
    if (d &gt; 24)
      fy = 0;
    else
      fy &gt;&gt;= d;
    ez = ex;
  } else     </description>
    <dc:date>2008-03-11T23:27:36+09:00</dc:date>
    <utime>1205245656</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/sakat/pages/14.html">
    <title>IEEE_754自習ページ</title>
    <link>https://w.atwiki.jp/sakat/pages/14.html</link>
    <description>
      IEEE 754浮動小数点数に関する自習ページ。基本は書いたプログラムコードのアップ。

- K&amp;Rに出ているatofって機能不足ですよね ⇒ [[GMPを使ってDBL_MAXの文字列をdoubleに変換するルーチン&gt;http://www7.atwiki.jp/sakat/pages/16.html]] (2008.03.15)
- 規格を読んだわけではないので、あれですが ⇒ [[IEEE 754 単精度の足し算を行うルーチン&gt;http://www7.atwiki.jp/sakat/pages/15.html]] (2008.03.11)






















----    </description>
    <dc:date>2008-03-16T01:33:12+09:00</dc:date>
    <utime>1205598792</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/sakat/pages/12.html">
    <title>元・トップページ</title>
    <link>https://w.atwiki.jp/sakat/pages/12.html</link>
    <description>
          </description>
    <dc:date>2008-03-09T19:08:26+09:00</dc:date>
    <utime>1205057306</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/sakat/pages/10.html">
    <title>プラグイン/コメント</title>
    <link>https://w.atwiki.jp/sakat/pages/10.html</link>
    <description>
      * コメントプラグイン
@wikiのwikiモードでは
 #comment()
と入力することでコメントフォームを簡単に作成することができます。
詳しくはこちらをご覧ください。
＝＞http://atwiki.jp/guide/17_60_ja.html


-----
たとえば、#comment() と入力すると以下のように表示されます。

#comment    </description>
    <dc:date>2008-03-09T19:00:45+09:00</dc:date>
    <utime>1205056845</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/sakat/pages/9.html">
    <title>プラグイン/関連ブログ</title>
    <link>https://w.atwiki.jp/sakat/pages/9.html</link>
    <description>
      * 関連ブログ
@wikiのwikiモードでは
 #bf(興味のある単語)
と入力することで、あるキーワードに関連するブログ一覧を表示することができます

詳しくはこちらをご覧ください。
＝＞http://atwiki.jp/guide/17_161_ja.html

-----


たとえば、#bf(ゲーム)と入力すると以下のように表示されます。


#bf(ゲーム)
    </description>
    <dc:date>2008-03-09T19:00:45+09:00</dc:date>
    <utime>1205056845</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/sakat/pages/8.html">
    <title>プラグイン</title>
    <link>https://w.atwiki.jp/sakat/pages/8.html</link>
    <description>
      @wikiにはいくつかの便利なプラグインがあります。

-----


#ls

-----

これ以外のプラグインについては@wikiガイドをご覧ください
=&gt;http://atwiki.jp/guide/
    </description>
    <dc:date>2008-03-09T19:00:45+09:00</dc:date>
    <utime>1205056845</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/sakat/pages/7.html">
    <title>プラグイン/動画(Youtube)</title>
    <link>https://w.atwiki.jp/sakat/pages/7.html</link>
    <description>
      * 動画(youtube)
@wikiのwikiモードでは
 #video(動画のURL)
と入力することで、動画を貼り付けることが出来ます。
詳しくはこちらをご覧ください。
＝＞http://atwiki.jp/guide/17_209_ja.html

また動画のURLはYoutubeのURLをご利用ください。
＝＞http://www.youtube.com/

-----


たとえば、#video(http://youtube.com/watch?v=kTV1CcS53JQ)と入力すると以下のように表示されます。


#video(http://youtube.com/watch?v=kTV1CcS53JQ)

    </description>
    <dc:date>2008-03-09T19:00:45+09:00</dc:date>
    <utime>1205056845</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/sakat/pages/6.html">
    <title>プラグイン/アーカイブ</title>
    <link>https://w.atwiki.jp/sakat/pages/6.html</link>
    <description>
      * アーカイブ
@wikiのwikiモードでは
 #archive_log()
と入力することで、特定のウェブページを保存しておくことができます。
詳しくはこちらをご覧ください。
＝＞http://atwiki.jp/guide/25_171_ja.html


-----


たとえば、#archive_log()と入力すると以下のように表示されます。
保存したいURLとサイト名を入力して&quot;アーカイブログ&quot;をクリックしてみよう


#archive_log()
    </description>
    <dc:date>2008-03-09T19:00:45+09:00</dc:date>
    <utime>1205056845</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/sakat/pages/5.html">
    <title>プラグイン/編集履歴</title>
    <link>https://w.atwiki.jp/sakat/pages/5.html</link>
    <description>
      * 更新履歴
@wikiのwikiモードでは
 #recent(数字)
と入力することで、wikiのページ更新履歴を表示することができます。
詳しくはこちらをご覧ください。
＝＞http://atwiki.jp/guide/17_117_ja.html


-----


たとえば、#recent(20)と入力すると以下のように表示されます。


#recent(20)
    </description>
    <dc:date>2008-03-09T19:00:45+09:00</dc:date>
    <utime>1205056845</utime>
  </item>
  </rdf:RDF>
