Article View: fj.lang.c
Article #457Re: 浮動小数点計算の規則
From: KANDO Takayuki
Date: Fri, 03 Apr 1998 00:00
Date: Fri, 03 Apr 1998 00:00
31 lines
2352 bytes
2352 bytes
神戸@川崎です。 Takeshi Yanagisawa <ytakeshi@o.cc.titech.ac.jp> wrote in article <6ft38f$28f$1@alpha.ap.titech.ac.jp>... > どうも化石フォローですいません. > <OHKUBO-K.98Mar20151708@urr-gw.casl.cs.uec.ac.jp>の記事において > ohkubo-k@urr-gw.casl.cs.uec.ac.jpさんは書きました。 > >> マニュアルには、数値レジスタへのロードがdoubleでも、内部では > >> 拡張倍精度(仮数部の長さがデフォルトのままなら)で演算され、 > >> デスティネーションにストアする時にその形式に丸められるんだそうです(だから > >> 「Pentiumはとても正確なのだ!」と書いてあった)。 > うーん,でも最終的に double の精度に丸められてストアされれば, > それは結局 double で計算しているのと同じになってしまう...のでは? > 計算は一回きりではありませんし. > (その double に丸められた値でまた別の計算を行うので) > # もしかして何か勘違いしているかもしれない 浮動小数点演算部やコプロセッサが四則演算しか行わないのであればそうなりますが、 最近のプロセッサは平方根やその他の初等関数のような 複数の演算からなる計算も行ったりします。 #手元にインテルのプロセッサの資料がないので具体的に書けませんが。 それらの計算はプロセッサの内部で高精度に計算をしておいて doubleで返すといったようなことをするので 全部doubleで計算しているのと同じということはありません。 -- Kando. Takayuki <kando@flab.fujitsu.co.jp> High Performance Computing Research Center (FUJITSU LABORATORIES LTD.) 1015 KAMIKODANAKA, NAKAHARA-WARD, KAWASAKI-SHI, KANAGAWA, 211-88 JAPAN Phone: (Intl Prefix)+81-44-754-2670
Technical Details
Message-ID:
<01bd5eaa$6b054280$db22a085@butter.para.flab.fujitsu.co.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<OHKUBO-K.98Mar20151708@urr-gw.casl.cs.uec.ac.jp> <6ft38f$28f$1@alpha.ap.titech.ac.jp>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 10684a,a009a4f1ca0d9d33 X-Google-Attributes: gid10684a,public X-Google-Thread: 106434,1ab637b5ab9bbcc5 X-Google-Attributes: gid106434,public From: "KANDO Takayuki" <kando@flab.fujitsu.co.jp> Subject: Re: 浮動小数点計算の規則 Date: 1998/04/03 Message-ID: <01bd5eaa$6b054280$db22a085@butter.para.flab.fujitsu.co.jp> X-Deja-AN: 340401688 Content-Transfer-Encoding: 8bit References: <OHKUBO-K.98Mar20151708@urr-gw.casl.cs.uec.ac.jp> <6ft38f$28f$1@alpha.ap.titech.ac.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP Organization: FUJITSU LABORATORIES LTD. Newsgroups: fj.lang.c,fj.os.linux