激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java中冪指數值的運算代碼解析

java中冪指數值的運算代碼解析

2021-03-03 13:57尋找現實扭曲力場 Java教程

這篇文章主要介紹了java中冪指數值的運算代碼解析,具有一定借鑒價值,需要的朋友可以參考下。

說到冪指數的運算我們就會用到Math.pow(doublea,doubleb),返回的結果是a的b次方。

在Java中,當我們計算2的n次方時,可以直接用Math.pow來計算。非常方便。

但是,已知一個冪的結果為M和冪的底數a,現在要求冪的指數n。Math中提供的有log(double)方法,但是只能傳入一個參數,即M。那么問題來了,如何簡單、方便、快捷的達到我們的要求呢?答案如下:

n=Math.log(M)/Math.log(a);

這個方法可以滿足我們大多數冪指數的計算,但是每次訪問的值和傳入的值都是double,自己不想去轉的話怎么辦,我們有一種新的方案。

方案前提:冪指數的底數是2的倍數。

這里我們就用到了移位運算(移位運算是基于二進制來的,所以方案前提就是這個依據),如我們求2的3次方,我們可以用2<<(3-1)來計算出結果。

4的2次方,我們先要把4轉化為2的2次方,再來2<<(4-1)來計算出結果。

下面這個方法實現的效果是我們傳入一個2的倍數相加的兩個數,比如12(是4+8),我們把它自動計算出[4,8]

再比如18,我們把它計算出[2,16]

再比如22,我們把它計算出[2,4,16]

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/**
   * 以2的次方開始的轉換成整型數組,字符串數組
   * @param sum 傳入派系的值,可以是一個派系的值,也可以是多個派系相加的值
   *      2^1 + 2^2 這種
   * 突然忘記移位操作也是一種指數冪的運算
   * @return
   */
private static int[] toUgroupArray(int sum){
    if(sum < 0){
        System.out.println("you have an eroor code");
    } else if(sum == 0) {
        System.out.println("you have no choise code");
    } else{
        String binaryCode = Integer.toBinaryString(sum);
        System.out.println("binary code:"+binaryCode);
        int index = binaryCode.length() -1;
        String str = "";
        for (int i=0;i<binaryCode.length();i++){
            if(binaryCode.charAt(i) == '1'){
                str = str + index +",";
            }
            index --;
        }
        str = str.substring(0, str.length()-1);
        System.out.println(str);
        String[] strArray = str.split(",");
        int[] result = new int[strArray.length];
        //也可以返回一個字符數組
        //String[] result2 = new String[strArray.length];
        for (int i=0;i<strArray.length;i++){
            //result[i] = (int)Math.pow(2, Double.parseDouble(strArray[i]));
            result[i] = 2 << (Integer.parseint(strArray[i])-1);
        }
        return result;
    }
    return null;
}

總結

以上就是本文關于java中冪指數值的運算代碼解析的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:http://blog.csdn.net/pearyangyang/article/details/48808089

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 粉色视频污 | 国产精品免费一区二区三区都可以 | 国产自在自线午夜精品视频在 | 久久久久久久久91 | 怦然心动50免费完整版 | 亚洲免费片 | 91精品国产综合久久婷婷香 | 99国产精品白浆在线观看免费 | 91福利社在线 | av在线免费网址 | 成人午夜在线免费观看 | 中文字幕免费播放 | 欧美在线观看视频一区二区 | 国产成人强伦免费视频网站 | 久草在线视频中文 | 午夜久久久精品一区二区三区 | 羞羞的网站 | 久久久久女人精品毛片 | 成人短视频在线观看免费 | av在线直播观看 | 国产亚洲综合一区二区 | 亚洲精品久久久久久久久久 | 久草在线播放视频 | 奇米影视在线 | 在线视频观看国产 | 国产一区二区三区影视 | 一区二区三区日韩在线 | 精品国产91久久久久久 | 羞羞色院91精品网站 | 色就色 综合偷拍区91网 | 男女羞羞视频在线观看免费 | 久久久精品精品 | 爱性久久久久久久 | 人成免费网站 | 亚洲看片网 | 精品亚洲视频在线 | 欧产日产国产精品乱噜噜 | 亚洲福利视 | 亚洲精品在线观看免费 | 国产高潮失禁喷水爽到抽搐视频 | 国产妇女乱码一区二区三区 |