
No.1ベストアンサー
- 回答日時:
やったことはありませんが…
いわゆる「多倍長精度演算」でしょうか?
http://ja.wikipedia.org/wiki/%E4%BB%BB%E6%84%8F% …
.NET Framework 4.0以降であれば、そういう型も用意されている…ようです。
http://d.hatena.ne.jp/matsukawar/20120527/133809 …
早速のご回答、ありがとうございます。
私も、示していただいたようなクラス(型)は知りませんでした。
早速試してみたいと思います。
ありがとうございました。
No.5
- 回答日時:
はじめまして、通りすがると申します。
私も同じようなものを作ったことあります。私の場合は、自力でロジックを考えました。ただ、C#ではなくVB.NETにて作りました。
考え方は、数字を文字列として受け取り、それを4桁ずつ区切って、区切った文字をintegerにキャストすます。
キャストした数値は、内部的に加減乗算し、その結果を後で結合していく方式です。
結合時といっても、単純に結合するのではなく、4桁で桁あふれ等が起きた場合、左右隣の数値に1加える
か、減算するかを判断して結合していきます。加減のロジックができれば、乗算はそれらを利用して算定する
方式です。この方式はノートなどで手動で計算するようなイメージのロジックになると思います。
vb.netだと200~300ステップぐらいで作成した記憶があります。C#だともう少し多くのソースを必要とする
かもしれません。考え方は色々とあるとおもいますがこれも一つの例としてとらえてください。
ご回答、ありがとうございます。
思った以上にいろいろな方法があるので、正直驚きました。
電卓を作るといっても、敷き詰めていけばきりがなくなってしまいそうです。
ただ、考え方としては、通りさんの方法だと、少し凝った、面白いものも
作れそうです。
試行錯誤してみます。
ありがとうございました。
No.4
- 回答日時:
たびたびごめんなさい
少し余計なアドバイス、
別に、整数部小数部に分ける必要は特にないです→計算時は整数にして計算後に小数点の位置を後から割り出せばいいので
掛け算割り算は加(減)算(減算はマイナス値を加算するということ)にして計算する(掛け算は掛ける分加算する、割り算は何回引けるかカウントする)→コンピューター内部ではハード的には加算器しかないのですがそれを真似る
そろばんのイメージで設計すればいいと思います
ご回答、ありがとうございます。
なるほど、自作して実装というのもありましたね。
組み込みなんかである、『フルアダー』のことですね。
アクセサリの電卓程度でと思っていましたが、よくよく見てみると、
欲を張りすぎたと思いました。
参考にさせていただきます。
ありがとうございました。
No.3
- 回答日時:
有限の桁数ならあらかじめ整数部分と小数部分の各桁数分の配列をCHAR(1バイト)で用意してやって
一桁(あるいは2桁:BCDってやつ→昔のMSX-BASICなんかそうだったと思う)一変数で処理してやれば何桁でも好きなだけ設定できると思います
処理効率は悪いけど、除算以外での丸め誤差が出ないから、0.001を1万回足せばちゃんと10になるはず
No.2
- 回答日時:
ご回答、ありがとうございます。
まねをしたくて…というわけではありませんが、希望桁数は
windows付属の電卓と同じだけを望んでいます。
比較してみると、教えていただいたdecimal型でも
何とかなるのかもしれません。
試してみたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
有効数字について 以前質問をし...
-
float型の精度(有効桁と実数)...
-
ExcelのINT関数の計算結果がお...
-
VB.net Double と...
-
fortranでx=1としても0.9..が入る
-
c languageで 簡単な質問があ...
-
10次の多項式を求めるプログラ...
-
色の判定
-
4096bitを95種類で表現すると何...
-
ExcelでPC(パソコン)によって...
-
三菱シーケンサ(Aシリーズ)で...
-
PICマイコンのアセンブラについて
-
どんな数字を入力してもaverage...
-
CASLIIの質問です。
-
最大50桁の実数の和・差・積を...
-
最早開始時間と最遅完了時刻を...
-
信頼区間の1.96や1.65ってどこ...
-
Aの値からBの値を除するとは??
-
strncpyと_tcsncpy_sのヌルの扱...
-
プログラムでの数字につく”f”の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
有効数字について 以前質問をし...
-
c languageで 簡単な質問があ...
-
EXCELの関数"STDEV(標準偏差)"...
-
ExcelでPC(パソコン)によって...
-
三菱シーケンサ(Aシリーズ)で...
-
floatの有効桁数
-
255の2の補数、B'00000001'が-...
-
O(n log n)について2
-
符号誤り率の計算は例題でどの...
-
CRCの計算方法について
-
VB.net Double と...
-
コンピューターは指数関数をど...
-
16進数 加算 減算 C言語
-
ExcelのINT関数の計算結果がお...
-
C言語でセルオートマトンを作成...
-
BCD・HEX・BINについて
-
”/”を使わずに割り算したいんで...
-
三角比の俯角の計算
-
除算を使わずに10で割りたい。
-
VBAでミリ秒まで出力する方法
おすすめ情報