[解決済み] C++でbig intを実装する方法
質問
プログラミングの練習として、C++でlong intより大きな数を扱えるbig intクラスを実装したいと思っています。 すでにいくつかのオープンソースの実装があることは知っていますが、自分自身で書いてみたいと思っています。 私は、正しいアプローチが何であるかについて感触を得ようとしています。
一般的な戦略は、文字列として数値を取得し、それをより小さな数値(例えば一桁)に分割し、配列に配置することだと理解しています。 この時点で、さまざまな比較演算子を実装するのは比較的簡単なはずです。 私の主な関心事は、加算や乗算のようなものをどのように実装するかということです。
私は、実際に動作するコードではなく、一般的なアプローチとアドバイスを探しています。
どのように解決するのですか?
大きなintクラスのために考慮すべきこと。
-
数学の演算子。+, -, /, *演算子の両側にクラスがある可能性があることを忘れないでください。 演算子の両側にクラスがあること、演算子を連結できること、演算子の 演算子は連結可能であること、オペランド 演算子の1つはint、float、doubleなどである可能性があることを忘れないでください。
-
I/O演算子: >>、<< これは ここでは、ユーザー入力からクラスを適切に作成する方法と、出力用にフォーマットする方法を考えます。 ユーザー入力からクラスを作成する方法と、出力用にクラスをフォーマットする方法を理解する場所です。
-
変換/キャスト 図 どのような型やクラスに クラスが変換可能であるべきかを把握し 変換を適切に処理する方法 変換を適切に処理する方法を把握します。簡単なリストとしては double と float が含まれます。 int (適切な境界チェックあり) と複素数も含まれるかもしれません。 が範囲を処理できると仮定して)。
関連
-
[解決済み】Visual Studio 2015で「非標準の構文; '&'を使用してメンバーへのポインターを作成します」エラー
-
[解決済み】cc1plus:エラー:g++で認識されないコマンドラインオプション"-std=c++11"
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] C++11では、標準化されたメモリモデルが導入されました。その意味するところは?そして、C++プログラミングにどのような影響を与えるのでしょうか?
-
[解決済み] Linux上で動作するC++コードのプロファイリングを行うにはどうすればよいですか?
-
[解決済み] C++でintをstringに変換する最も簡単な方法
-
[解決済み] const int*、const int * const、int const *の違いは何ですか?
-
[解決済み] なぜ (int)x ではなく static_cast<int>(x) を使うのですか?
-
[解決済み] std::stringをintに変換するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】コンストラクターでのエラー:識別子を期待されますか?
-
[解決済み】C++ クラスヘッダが含まれているときに「不明な型」があるのはなぜですか?重複
-
[解決済み】C++ 非推奨の文字列定数から「char*」への変換について
-
[解決済み】Cygwin Make bash コマンドが見つかりません。
-
[解決済み] クラスにデフォルトコンストラクタが存在しない。
-
[解決済み】デバッグアサーションに失敗しました。C++のベクトル添え字が範囲外
-
[解決済み】Visual C++で "Debug Assertion failed "の原因となる行を見つける。
-
[解決済み】浮動小数点数の乱数生成
-
[解決済み】警告 - 符号付き整数式と符号なし整数式の比較
-
[解決済み] 変数サイズのオブジェクトが初期化されないことがある c++