繁体   English   中英

创建递归二进制到十进制函数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM