プログラミングで、演算結果が型に縛られずに行えるロジックが知りたいです。(例えば32ビット整数同士の演算結果が128ビット超とかです)

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/06/30 20:23:36
  • 終了:--

回答(10件)

id:Einstein No.1

Einstein回答回数62ベストアンサー獲得回数02004/06/30 20:41:45

ポイント15pt

多倍長計算というキーワードで検索しました。

このURLでは、「ソースを表示」すれば、多倍長計算で大きな階乗を計算するVBscriptが見えます。

Mathematicaという数式処理系です。

id:k318 No.2

k318回答回数2622ベストアンサー獲得回数22004/06/30 20:42:38

ポイント15pt

四則演算についての型よりも大きい範囲の数値を、精度よく計算することの説明です。

id:siigimaru No.3

siigimaru回答回数556ベストアンサー獲得回数52004/06/30 21:22:00

ポイント15pt

浮動少数点利用などどうでしょう?

id:usr1 No.4

usr1回答回数56ベストアンサー獲得回数02004/06/30 21:27:22

ポイント15pt

http://www5.airnet.ne.jp/tomy/cpro/longint.htm

技術計算用Cプログラム ソース(多倍長演算)

多倍長演算のことかな?

id:takasiym No.5

takasiym回答回数165ベストアンサー獲得回数02004/06/30 22:14:43

ポイント5pt

http://www.kumei.ne.jp/c_lang/

猫でもわかるプログラミング

上記URLは参考サイトです。

プログラミング入門サイトとしてはかなり優秀です。

さて本題ですが、

どんなプログラミング言語なのか分かりませんが、

型に厳しいC言語でご説明します。

型キャスト(変換)です。

以下に、参考コードを書きます。

-------------------------------------

#include <stdio.h>

#include <math.h>

int a, b;

long c;

a=pow(2,31);

b=pow(2,31);

c=(long)a*(long)b;

-------------------------------------

変数の前に(”型名”)で型キャストが行えます。

id:flashcafe No.6

flashcafe回答回数50ベストアンサー獲得回数02004/06/30 23:29:11

ポイント15pt

多倍長計算というのがキーワードになると思います。

コンピューターに筆算させるイメージで作ることができますよ。

id:asahi46 No.7

asahi46回答回数51ベストアンサー獲得回数02004/07/01 01:40:33

ポイント15pt

test

id:kab_studio No.8

kab_studio回答回数2ベストアンサー獲得回数12004/07/01 02:09:12

ポイント15pt

 2進化10進コード( Binary Coded Decimal code )と char 配列を組み合わせるというのはどうでしょう。1桁ずつの四則演算を行い、くりあがり時に配列サイズを超えたら配列を拡張する、というものです。

 ただ、割り算をして割り切れない場合に桁数の制限をかけないと、メモリを食いつぶしちゃうことに……。

 あと現実的には Java の BigDecimal を使うのが楽かと。

id:ohmix1 No.9

ohmix1回答回数235ベストアンサー獲得回数142004/07/01 13:00:15

ポイント15pt

「C++による多倍長計算ライブラリ」という書籍があります。

http://hp.vector.co.jp/authors/VA007799/bignum.htm

多倍長精度整数クラス CBignum

ソースを見て勉強するのもいいかもしれません。

id:alcus No.10

alcus回答回数85ベストアンサー獲得回数02004/07/01 20:08:03

ポイント20pt

http://www.swox.com/gmp/

The GNU MP Bignum Library

GNU の多倍長計算ライブラリです。

多倍長演算の基本は小学校の時にならう筆算です。

id:sudoh

よいサンプルをご紹介いただき、ありがとうございました。alcus さんはじめご回答くださった皆様も、ありがとうございました。全部の回答にじっくり目を通してプログラミングしていきます。

2004/07/01 23:09:42

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません