<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java Home

    Java技術修煉中...
    posts - 20, comments - 22, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    java.math.BigInteger使用心得總結

    Posted on 2006-12-05 10:20 Yemoo'S Java Blog 閱讀(16432) 評論(4)  編輯  收藏
    今天參考課本寫了一個關于二進制與十進制轉換的程序,程序算法不難,但寫完后測試發現不論是二轉十還是十轉二,對于大于21億即超過整數范圍的數不能很好的轉換。都會變成0.
    參考書籍發現使用使用BigInteger可以解決這個問題。
    于是查找了下JDK,然后測試幾次終于寫成功了!
    使用心得如下:

    1,BigInteger屬于java.math.BigInteger,因此在每次使用前都要import 這個類。偶開始就忘記import了,于是總提示找不到提示符。

    2,其構造方法有很多,但現在偶用到的有:
    BigInteger(String?val)
    ??????????將 BigInteger 的十進制字符串表示形式轉換為 BigInteger。
    BigInteger(String?val, int?radix)
    ??????????將指定基數的 BigInteger 的字符串表示形式轉換為 BigInteger。
    如要將int型的2轉換為BigInteger型,要寫為BigInteger two=new BigInteger("2"); //注意2雙引號不能省略

    3,BigInteger類模擬了所有的int型數學操作,如add()==“+”,divide()==“-”等,但注意其內容進行數學運算時不能直接使用數學運算符進行運算,必須使用其內部方法。而且其操作數也必須為BigInteger型。
    如:two.add(2)就是一種錯誤的操作,因為2沒有變為BigInteger型。

    4,當要把計算結果輸出時應該使用.toString方法將其轉換為10進制的字符串,詳細說明如下:
    ?StringtoString()
    ??????????返回此 BigInteger 的十進制字符串表示形式。
    輸出方法:System.out.print(two.toString());

    5,另外說明三個個用到的函數。???
    ?BigIntegerremainder(BigInteger?val)
    ??????????返回其值為 (this % val) 的 BigInteger。
    ?BigIntegernegate()
    ??????????返回其值是 (-this) 的 BigInteger。
    ?int???????compareTo(BigInteger?val)
    ??????????將此 BigInteger 與指定的 BigInteger 進行比較。
    remainder用來求余數。
    negate將操作數變為相反數。
    compare的詳解如下:

    compareTo

    public int compareTo(BigInteger?val)
    將此 BigInteger 與指定的 BigInteger 進行比較。對于針對六個布爾比較運算符 (<, ==, >, >=, !=, <=) 中的每一個運算符的各個方法,優先提供此方法。執行這些比較的建議語句是:(x.compareTo(y) <op> 0),其中 <op> 是六個比較運算符之一。

    指定者:
    接口 Comparable<BigInteger> 中的 compareTo
    參數:
    val - 將此 BigInteger 與之比較的 BigInteger。
    返回:
    當此 BigInteger 在數值上小于、等于或大于 val 時,返回 -1,0,或 1。


    評論

    # re: java.math.BigInteger使用心得總結  回復  更多評論   

    2010-12-03 00:53 by runningkid
    總結得好好!

    # BigInteger  回復  更多評論   

    2010-12-06 22:40 by liuzhongshu
    剛寫了一篇同樣內容的
    http://www.liuzhongshu.com/code/biginteger-and-java-python-php-cplusplus.html

    Java是沒有運算符重載,所以不能直接用運算符,C++就可以了,但C++又沒有內置的Biginteger類。

    # re: java.math.BigInteger使用心得總結  回復  更多評論   

    2011-01-14 09:12 by qweqwe
    好個屁

    # re: java.math.BigInteger使用心得總結  回復  更多評論   

    2014-10-09 21:20 by awk
    divide()是除法吧。。。

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲国产女人aaa毛片在线| 亚洲午夜精品久久久久久浪潮 | 成年女人视频网站免费m| 亚洲不卡视频在线观看| 2021国内精品久久久久精免费| 亚洲不卡av不卡一区二区| 久久成人免费电影| 久久亚洲春色中文字幕久久久| 99久久人妻精品免费一区| 亚洲精品在线播放| 国产精品成人免费一区二区| 亚洲色欲啪啪久久WWW综合网| 天天摸天天碰成人免费视频| 亚洲成a人片在线不卡一二三区 | 美女18一级毛片免费看| 亚洲国产精品成人| 成人毛片100免费观看| 久久精品亚洲中文字幕无码网站| 久久久久高潮毛片免费全部播放| 国内精品久久久久影院亚洲| 国产一级淫片免费播放电影| 亚洲阿v天堂在线2017免费| 午夜影视日本亚洲欧洲精品一区| 国产桃色在线成免费视频 | 亚洲制服丝袜一区二区三区| 一二三四视频在线观看中文版免费| 亚洲精品天堂成人片AV在线播放| 免费在线观看亚洲| 中文字幕无码一区二区免费| 亚洲国产精品综合久久2007| 日韩免费无码一区二区视频 | 88xx成人永久免费观看| 亚洲字幕AV一区二区三区四区| 免费午夜爽爽爽WWW视频十八禁| a成人毛片免费观看| 亚洲av无码片在线观看| 国产a级特黄的片子视频免费| 久久久久国色AV免费观看| 亚洲国产成人精品无码区在线秒播| 国产精品久免费的黄网站| 国产精品免费无遮挡无码永久视频 |