溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發(fā)技術 > 
  • 編程語言 > 
  • 十六進制與RGB顏色值的相互轉(zhuǎn)換以及如何判斷一個素數(shù) 和內(nèi)聯(lián)函數(shù)及面向?qū)ο?/span>

十六進制與RGB顏色值的相互轉(zhuǎn)換以及如何判斷一個素數(shù) 和內(nèi)聯(lián)函數(shù)及面向?qū)ο?/h1>
發(fā)布時間:2021-10-14 09:30:59 來源:億速云 閱讀:122 作者:柒染 欄目:編程語言

今天就跟大家聊聊有關十六進制與RGB顏色值的相互轉(zhuǎn)換以及如何判斷一個素數(shù) 和內(nèi)聯(lián)函數(shù)及面向?qū)ο?,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

十六進制與RGB顏色值的相互轉(zhuǎn)換

/**

 * 隨機生成顏色
 * @return 隨機生成的十六進制顏色
 */  
 
function randomColor(){  
  var colorStr=Math.floor(Math.random()*0xFFFFFF).toString(16).toUpperCase();  
  return "#"+"000000".substring(0,6-colorStr)+colorStr;  
}  
   
/**
 * 十六進制顏色轉(zhuǎn)換為RGB顏色
 * @param color 要轉(zhuǎn)換的十六進制顏色
 * @return RGB顏色
 */  
function colorHexToRGB(color){  
  color=color.toUpperCase();  
  var regexpHex=/^#[0-9a-fA-F]{3,6}$/;//Hex  
  if(regexpHex.test(color)){  
    var hexArray=new Array();  
    var count=1;  
    for(var i=1;i<=3;i++){  
      if(color.length-2*i>3-i){  
        hexArray.push(Number("0x"+color.substring(count,count+2)));  
        count+=2;  
      }else{  
        hexArray.push(Number("0x"+color.charAt(count)+color.charAt(count)));  
        count+=1;  
      }  
    }  
    return "RGB("+hexArray.join(",")+")";  
  }else{  
    return color;  
  }  
}  
   
/**
 * RGB顏色轉(zhuǎn)換為十六進制顏色
 * @param color 要轉(zhuǎn)換的RGB顏色
 * @return 十六進制顏色
 */  
 
function colorRGBToHex(color){  
  var regexpRGB=/^(rgb|RGB)\([0-9]{1,3},\s?[0-9]{1,3},\s?[0-9]{1,3}\)$/;//RGB  
  if(regexpRGB.test(color)){  
    color=color.replace(/(\(|\)|rgb|RGB)*/g,"").split(",");  
    var colorHex="#";  
    for(var i=0;i<color.length;i++){  
      var hex=Number(color[i]).toString(16);  
      if(hex.length==1) hex="0"+hex;  
      colorHex+=hex;  
    }  
    return colorHex;  
  }else{  
    return color;  
  }  

}

怎么判斷一個數(shù)是否為素數(shù)?

笨蛋的作法:
bool IsPrime(unsigned n)
{
    if (n<2)
    { //小于2的數(shù)即不是合數(shù)也不是素數(shù)
    throw 0;
    }
    for (unsigned i=2;i<n;++i)
    { //和比它小的所有的數(shù)相除,如果都除不盡,證明素數(shù)
        if (n%i==0)
        {//除盡了,則是合數(shù)
            return false;
        }
    }
    return true;
}

內(nèi)聯(lián)函數(shù)

   內(nèi)聯(lián)函數(shù)是代碼被插入到調(diào)用者代碼處的函數(shù)。如同 #define 宏,內(nèi)聯(lián)函數(shù)通過避免被調(diào)用的開銷來提高執(zhí)行效率,尤其是它能夠通過調(diào)用(“過程化集成”)被編譯器優(yōu)化。
    內(nèi)聯(lián)函數(shù)和宏很類似,而區(qū)別在于,宏是由預處理器對宏進行替代,而內(nèi)聯(lián)函數(shù)是通過編譯器控制來實現(xiàn)的。而且內(nèi)聯(lián)函數(shù)是真正的函數(shù),只是在需要用到的時候,內(nèi)聯(lián)函數(shù)像宏一樣的展開,所以取消了函數(shù)的參數(shù)壓棧,減少了調(diào)用的開銷。你可以象調(diào)用函數(shù)一樣來調(diào)用內(nèi)聯(lián)函數(shù),而不必擔心會產(chǎn)生于處理宏的一些問題。
    聲明內(nèi)聯(lián)函數(shù)看上去和普通函數(shù)非常相似:
     void f(int i, char c);
    
    
    當你定義一個內(nèi)聯(lián)函數(shù)時,在函數(shù)定義前加上 inline 關鍵字,并且將定義放入頭文件:
     inline
     void f(int i, char c)
     {
     // ...
     }
    
    
    任何在類的說明部分定義的函數(shù)都會被自動的認為是內(nèi)聯(lián)函數(shù)。
    內(nèi)聯(lián)函數(shù)必須是和函數(shù)體申明在一起,才有效。像這樣的申明Inline Tablefunction(int I)是沒有效果的,編譯器只是把函數(shù)作為普通的函數(shù)申明,我們必須定義函數(shù)體。
    Inline tablefunction(int I) {return I*I};
    
    
    這樣我們才算定義了一個內(nèi)聯(lián)函數(shù)。我們可以把它作為一般的函數(shù)一樣調(diào)用。但是執(zhí)行速度確比一般函數(shù)的執(zhí)行速度要快。
    我們也可以將定義在類的外部的函數(shù)定義為內(nèi)聯(lián)函數(shù),比如:
    Class TableClass{
     Private:
      Int I,j;
     Public:
      Int add() { return I+j;};
      Inline int dec() { return I-j;}
      Int GetNum();
    }
    inline int tableclass::GetNum(){
    return I;
    }
    
    
    上面申明的三個函數(shù)都是內(nèi)聯(lián)函數(shù)。在C++中,在類的內(nèi)部定義了函數(shù)體的函數(shù),被默認為是內(nèi)聯(lián)函數(shù)。而不管你是否有inline關鍵字。
    內(nèi)聯(lián)函數(shù)在C++類中,應用最廣的,應該是用來定義存取函數(shù)。我們定義的類中一般會把數(shù)據(jù)成員定義成私有的或者保護的,這樣,外界就不能直接讀寫我們類成員的數(shù)據(jù)了。對于私有或者保護成員的讀寫就必須使用成員接口函數(shù)來進行。如果我們把這些讀寫成員函數(shù)定義成內(nèi)聯(lián)函數(shù)的話,將會獲得比較好的效率。
    Class sample{
     Private:
      Int nTest;
     Public:
      Int readtest(){ return nTest;}
     Void settest(int I) {nTest=I;}
    }

面向?qū)ο?/p>

十六進制與RGB顏色值的相互轉(zhuǎn)換以及如何判斷一個素數(shù) 和內(nèi)聯(lián)函數(shù)及面向?qū)ο?></p><p class=看完上述內(nèi)容,你們對十六進制與RGB顏色值的相互轉(zhuǎn)換以及如何判斷一個素數(shù) 和內(nèi)聯(lián)函數(shù)及面向?qū)ο笥羞M一步的了解嗎?如果還想了解更多知識或者相關內(nèi)容,請關注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

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

rgb
AI