[H8-ML(5834)] Re: sprintfの結果が表示されない
From: tommy <apollo@xxxxxxxxxx>
Date: 2006年02月17日(金)20時12分05秒
1ん年前、ですがASCIIを直接演算する方法を
アッセンブラで試しました。

直接演算方式は十進方式はASCIIをBCD(4ビット)として扱いましたが
ダブルBCDもバイナーリーも文字変換を含めると
ASCII方式と余り速度は変わりませんでした。
(メモリーレジスタは倍になりますが・・)

九九式(かけ算テーブル検索)や
1+2+2式
(値を2倍したテーブルを作って、乗除算を加減算に置き換える)
も試しました。
ルート演算は中学校で習った方法をそのまま使いました。

倍々精度で出現した端数誤差の問題が、一挙に解決しました。

ではまた

mozilla_315@xxxxxxxxx wrote:
> はじめまして、horiと申します。
> 最近、H8/3694Fで動く電卓を作ろうと思い、
> Cでプログラミングを始めました。
> 簡単な仕様ですが、
> 
> answer(答え)  : double
> siki(式)      : char[256]
> 演算子が+の場合
> answer = answer + atof(siki)
> 
> となっております。
> 
> 答え(double)をsprintf関数で文字列にしたいのですが、
> うまくいかないみたいです。
> 
> char ans_str[30] = "";
> char siki[20] = "+62.9";
> double answer    = 321.45;
> 
> answer = answer + atof(siki);
> sprintf(ans_str, "%+f", answer);
> 
> どなたかお詳しい方お助け願います。
> 
> 

スレッド概略
[5833(R)](起点)
 └[表示中]
   └[5835(1)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]