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

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

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

    Java Home

    Java技術(shù)修煉中...
    posts - 20, comments - 22, trackbacks - 0, articles - 0
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    今天參考課本寫(xiě)了一個(gè)關(guān)于二進(jìn)制與十進(jìn)制轉(zhuǎn)換的程序,程序算法不難,但寫(xiě)完后測(cè)試發(fā)現(xiàn)不論是二轉(zhuǎn)十還是十轉(zhuǎn)二,對(duì)于大于21億即超過(guò)整數(shù)范圍的數(shù)不能很好的轉(zhuǎn)換。都會(huì)變成0.
    參考書(shū)籍發(fā)現(xiàn)使用使用BigInteger可以解決這個(gè)問(wèn)題。
    于是查找了下JDK,然后測(cè)試幾次終于寫(xiě)成功了!
    使用心得如下:

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

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

    3,BigInteger類(lèi)模擬了所有的int型數(shù)學(xué)操作,如add()==“+”,divide()==“-”等,但注意其內(nèi)容進(jìn)行數(shù)學(xué)運(yùn)算時(shí)不能直接使用數(shù)學(xué)運(yùn)算符進(jìn)行運(yùn)算,必須使用其內(nèi)部方法。而且其操作數(shù)也必須為BigInteger型。
    如:two.add(2)就是一種錯(cuò)誤的操作,因?yàn)?沒(méi)有變?yōu)锽igInteger型。

    4,當(dāng)要把計(jì)算結(jié)果輸出時(shí)應(yīng)該使用.toString方法將其轉(zhuǎn)換為10進(jìn)制的字符串,詳細(xì)說(shuō)明如下:
    ?StringtoString()
    ??????????返回此 BigInteger 的十進(jìn)制字符串表示形式。
    輸出方法:System.out.print(two.toString());

    5,另外說(shuō)明三個(gè)個(gè)用到的函數(shù)。???
    ?BigIntegerremainder(BigInteger?val)
    ??????????返回其值為 (this % val) 的 BigInteger。
    ?BigIntegernegate()
    ??????????返回其值是 (-this) 的 BigInteger。
    ?int???????compareTo(BigInteger?val)
    ??????????將此 BigInteger 與指定的 BigInteger 進(jìn)行比較。
    remainder用來(lái)求余數(shù)。
    negate將操作數(shù)變?yōu)橄喾磾?shù)。
    compare的詳解如下:

    compareTo

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

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


    評(píng)論

    # re: java.math.BigInteger使用心得總結(jié)  回復(fù)  更多評(píng)論   

    2010-12-03 00:53 by runningkid
    總結(jié)得好好!

    # BigInteger  回復(fù)  更多評(píng)論   

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

    Java是沒(méi)有運(yùn)算符重載,所以不能直接用運(yùn)算符,C++就可以了,但C++又沒(méi)有內(nèi)置的Biginteger類(lèi)。

    # re: java.math.BigInteger使用心得總結(jié)  回復(fù)  更多評(píng)論   

    2011-01-14 09:12 by qweqwe
    好個(gè)屁

    # re: java.math.BigInteger使用心得總結(jié)  回復(fù)  更多評(píng)論   

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

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: ww在线观视频免费观看| 青柠影视在线观看免费高清 | 国产亚洲av片在线观看16女人 | 国产免费MV大全视频网站| 免费一区二区无码东京热| 亚洲综合无码精品一区二区三区| 亚洲国产人成在线观看69网站| 亚洲另类小说图片| 成在人线av无码免费高潮水| 色妞WWW精品免费视频| 亚洲三级在线观看| 国产精品免费_区二区三区观看 | 在线观看亚洲精品福利片| 国产精品无码永久免费888| 亚洲精品无码不卡在线播放HE| 拍拍拍无挡免费视频网站| 女人18毛片特级一级免费视频| 国产AV无码专区亚洲AV蜜芽| 日韩精品电影一区亚洲| 在线免费观看伊人三级电影| 亚洲AV日韩AV天堂一区二区三区 | 国产精品亚洲一区二区三区在线观看| 无码国模国产在线观看免费| 亚洲资源在线视频| 国产在线精品免费aaa片| 免费人成在线观看视频播放| 国产免费黄色无码视频| 久久夜色精品国产噜噜噜亚洲AV| 一级毛片正片免费视频手机看| 女人被男人躁的女爽免费视频| 美女视频黄a视频全免费网站一区 美女视频黄a视频全免费网站色 | 色综合久久精品亚洲国产| 青娱乐免费视频在线观看| 亚洲成a人片77777老司机| 波多野结衣在线免费视频| 亚洲AV人人澡人人爽人人夜夜| 我们的2018在线观看免费高清| 无码色偷偷亚洲国内自拍| 国产成人无码综合亚洲日韩| 最近免费中文字幕视频高清在线看 | 亚洲伊人久久精品影院|