2012-02-22 21 views
-1

3つの記号(+または - )、指数、仮数(y.yyyyyy)を入力する必要があります。今私はこれら3つの部分を使って浮動小数点数を構成しなければなりません。このプログラムは、正規化され正規化されていないプロパティを処理する必要がありますが、無限大と特殊なケースのコンセプトは無視してください。私はこのプログラムについてどうやって行くのか分かりません。 PS-私はプログラミング言語としてCを使用することに慣れていない、私は非常に少数を使用した。あなたが好きなものを浮動小数点数にそのように構築することができます浮動小数点数を使って浮動小数点数を構築する

+7

StackOverflowのはあなたのためにコードを書き、機械ではありません。

あなたのような何かを行うことができます。あなたがCに精通していないなら、これは始めるのが良い方法ではないようです。 –

答えて

1

:(文字列)から浮動小数点値として仮を取得するには

char sign = '-'; 
int exponent = -3; 
double significand = 27.5; 

double value = significand * pow (10, exponent); 
if (sign == '-') value = -value; 

、あなたは10の累乗でrepated乗算を使用することができます。

しかし、C言語を使用しているので、atofを調べてみてください。

char *sign = "-"; 
char *exponent = "-3"; 
char *significand = "27.5"; 

char buffer[100]; 
sprintf (buff, "%s%sE%s", sign, significand, exponent); 
double value = atof (buffer); 
+0

おかげで@paxdiablo私はあなたが%s $ sE%s何をさせることができるを使用することはできません言及を忘れてしまった。 – Raj

+0

'atof'は' math.h'ではなく 'stdlib.h'にあります。 'sprintf'(新しい、訂正されたフォーマットのもの)は、" atof "が使用できる3つのコンポーネント、" -27.5E-3 "のような文字列を作成します。 – paxdiablo

関連する問題