掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Delphi XE1 Proで64bit以上の数字の数値計算をすることは可能でしょうか? (ID:46143)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
そういえば、昔、超巨大な数字の文字を、部分的に数字にして、計算する関数群を作ったことがあります。 文字列(String型)で計算できるので、多分メモリ内か、2GBまでは計算できるかと。 例えば、10550という文字があったとして、これを10 と 550という文字に分けます。 そして、550を整数の型に変換して、数字を足す。 550に5を足すのは、555になり、あとは上の10くっつけるだけ。 繰り上がったり、繰り下がったりする場合は、一つ前のブロックを変更する。 10550の文字に600足す場合10と550。 550+600=1150 桁を超えるので、1と150に分ける。 一つ前のブロックの10に1を足して11と、150をくっつける。 で、11150になる。 引き算もやりかたは同じです。 もちろん、3桁ではなく、もっと大きな長さのブロックでしたが、やり方自体は、おんなじ。 で、足し算、引き算ができれば、割り算、あまり、掛け算もできるので、素数の検索ができる。 素数の検索が目的でした。 私がdelphiは決まった型しかないと思い込み、多倍長整数ライブラリを知る前の話の、苦肉の策でした。 これはこれで頭を使ったので、面白かったんですが。 欠点は、ええ、遅いことですよ。(苦笑 なので、やり方次第で、できますねー。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.