中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C# BigInteger 處理超大整型數字

發布時間:2020-03-30 16:46:49 來源:網絡 閱讀:6547 作者:yuanzhitang 欄目:編程語言

今天遇到一個要處理XSD中Integer的數值區間的計算的問題,Integer這個類型的值區間理論上是可沒有邊界的,假設目前的值是1.5E+10000, 這個數字已經達到double和Int64都無法存儲了,同時我還要對如此大的數字進行加減運算,后來發現了BigInteger這個類可以很好的解決我遇到的問題。^_^

BigInteger

自.net framework 4.0開始引入, 位于命名空間:

namespace System.Numerics

設計用于存儲超大整型數字,所以只要內存夠大,存儲是沒有上限和下限的,否則如果數字過大的話,會遇到OutOfMemory的異常。

我的案例

因為我的輸入就是一個字符串的數字,所以我調用BigInteger.Parse()方法可以得到一個BigInteger實例,然后就可以對于進行+1 或者 -1的運算了

static void Main(string[] args)
        {

            String largeNum = "1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";

            var number = BigInteger.Parse(largeNum);
            var numberDecreaseOne = number - 1;
            var numberIncreaseOne = number + 1;

            Console.WriteLine(numberDecreaseOne);
            Console.WriteLine(" ");
            Console.WriteLine(numberIncreaseOne);
            Console.ReadKey();

        }

輸出結果:

C# BigInteger 處理超大整型數字

BigInteger還很很多的方法:比如 Min, Max, Substract, Multiply, Divide, Log, Pow, 等等,同時BigInteger對大量的運算符都進行了重載,很方便使用。

更多資料可以參看MSDN System.Numerics.BigInteger

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台州市| 安义县| 双江| 富宁县| 屏东县| 土默特左旗| 文水县| 杭锦旗| 潞城市| 大埔区| 韶关市| 营口市| 雷山县| 青冈县| 天全县| 义乌市| 剑阁县| 上虞市| 黄石市| 香河县| 龙口市| 来宾市| 安西县| 沭阳县| 沈阳市| 慈溪市| 开封市| 宿松县| 溧水县| 龙井市| 霍山县| 双鸭山市| 土默特左旗| 平和县| 海安县| 安达市| 图们市| 治多县| 社旗县| 宝清县| 惠东县|