2016-10-20 4 views
-2

私はXcodeでゲームを開発しており、このゲームのスコアはこのように20桁増加します(1000000000000000000000000)それを管理する方法me.iを保存します整数での20桁の番号とObjective Cの中でどのようにオブジェクトのcの整数で20桁以上の数値を保存するかXcode任意の解決

enter image description here

+2

(http://stackoverflow.com/help/how-to-ask)[どのように私は良い質問をしてください]最初の読みと、最小の完全、かつ検証例を作成するために、[どのようにしてください](http://stackoverflow.com/help/mcve)あなたの質問を改善する。 –

答えて

0

が値を増減したいAppleはNSDecimal値タイプ、およびそれNSDecimalNumberのオブジェクト包まれたバージョンを提供しています。これは小数点以下38桁の精度を持つ浮動小数点型なので、20桁の整数を簡単に保持して算術演算を行うことができます。

"純粋な"整数を使用する場合は、128ビットの整数型で十分です。これは38桁の小数を表します。これはCのオプションタイプである__int128unsigned __int128ですが、現在のClang/Xcodeコンパイラではタイプがありますが、I/O用の文字列に変換する方法はないようですが、整数を文字列に変換します自分で実装できる簡単なアルゴリズムです。

もう1つの整数オプションは、内部で128ビット整数を使用するCFNumberの内側に隠されています。 AppleはオープンソースとしてCFNumber.cをリリースしています。そこには、追加、否定、テキストへの変換のための機能があります。

HTH

関連する問題