2016-02-12 12 views
-2

我很想知道javascript中的.toString(16)的源代碼因爲我想檢查dec代碼如何轉換爲十六進制代碼的邏輯?js中toString(16)的源代碼是什麼?

+3

這只是其轉換爲十六進制。有很多示例代碼可用於從十進制轉換爲十六進制。 –

+0

另請參閱http://stackoverflow.com/questions/923771/quickest-way-to-convert-a-base-10-number-to-any-base-in-net –

回答

1
Base := 16 
HexNumber := "" 
while(DecNumber > 0) { 
    HexNumber := Concat(DecNumber % Base, HexNumber) 
    DecNumber := Floor(DecNumber/Base) 
} 

適用於任何基地。在十六進制中,顯然你必須將10+轉換爲A-F。

編輯:這是在JavaScript版本:

function toBaseString(base, decNumber) { 
    var hexNumber = ''; 
    while(decNumber > 0) { 
     var hexDigit = decNumber % base; 
     if(hexDigit >= 10) { 
      hexDigit = String.fromCharCode(hexDigit + 87); 
     } 
     hexNumber = hexDigit + hexNumber; 
     decNumber = Math.floor(decNumber/base); 
    } 
    return hexNumber; 
} 
+1

可能將其更改爲JavaScript?這不是JavaScript的權利? –

+0

@PraveenKumar這是javascript中的一個版本。在十六進制字符串的情況下,有一個額外的部分將10+個數字轉換爲a-f。基地2的作品同樣出色。 – Neil

+0

看起來很棒的夥伴。 –