[英]Creating a Recursive Binary to Decimal Function
我試圖創建一個遞歸的二進制到十進制函數。 這是我目前的嘗試:
function decToBin(num){
if(num >= 1){
(num % 2); //I have to STORE? this somewhere
decToBin(Math.floor(num/2));
}
// return my stored value here
}
我要對新數字取模,直到它為0。如何存儲函數的每次傳遞? 我只是在函數范圍之外創建全局變量,還是有更好的方法? 謝謝!
通常,使用遞歸函數時,會將“當前值”與下一個迭代的返回值結合在一起。 因此,您將所有“返回值”都組合在一起。
在這種情況下,您需要以下內容:
return decToBin(Math.floor(num/2))+(num % 2);
從而使您的整個功能:
function decToBin(num){
if(num >= 1){
return decToBin(Math.floor(num/2))+(num % 2);
}
return '';
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.