2017-08-06 6 views
0

これまで使用していなかったラケットの計算をいくつか実行する必要があります。ラケットで単精度変数を定義する

sthを計算するには、精度の高い浮動小数点数を1つまたは半数(あれば)計算する必要がありますか?

私はそれは大きな山車で計算作る方法を考え出し:

(bf/ (bf 1) (bf 7)) 

私は山車の略称(倍精度)がFLであることを知っています。私はシングルフロートの右の省略形を理解することはできません。

答えて

1

あなたが参照する「bigfloat」パッケージは、の任意のの精度浮動小数点数です。あなたが指摘しているように、あなたはこれらを望んでいる可能性は非常に低いです。

標準のIEEE 64ビット浮動小数点数を探しているようです。 Racketはすべての不正確な算術演算に対してこれらをデフォルトで使用します。

したがって、例えば:

(/ 1 pi) 

が可能トリッパー、上部

0.3183098861837907 

一つを生成する2つの有理数を分割する場合、結果は再び有理数であろうということです。だから、例えば、

(/ 12347728 298340194) 

あなたは(常に動作します)exact->inexactを使用して、または使用している場合を除き、あなたのリテラル(小数点で終わることを確実にすることにより、いずれかの不正確な算術演算を強制することができ

6173864/149170097 

を生成しますhtdp言語)。

ので、例えば:

(/ 12347728.0 298340194.0) 

0.04138808061511148 

が、これはあなたの質問に答えていない場合、私に教えてください....

+0

作り出すあなたの答えをいただき、ありがとうございます。ラケットを32ビットまたは16ビットの浮動小数点数で計算する方法はありますか? – UserAnonymous

+0

'real-> single-flonum'を使用して32ビット浮動小数点数を生成することができます。 3.243f0または3f-2である。私は、16ビットの浮動小数点数のラケットには何のサポートもないと信じています。現代のマシンでは、32ビットまたは16ビット浮動小数点の浮動小数点が良い考えである状況はあまりありません。オーディオアプリケーションでも、64ビットの倍音が引き継がれているようです。お役に立てれば! –

+0

@JohnClements機械学習アプリケーションでは、低精度浮動小数点が再現し始めています。 https://arxiv.org/pdf/1412.7024.pdf通常の機械は、GPUが単精度計算を実行するため、倍精度ではなく単精度(32ビット)を学習します。 –

関連する問題