zoukankan      html  css  js  c++  java
  • 使用递归对十进制数进行进制转换

    写个小函数,以递归的方式对十进制进行进制转换,使用了立即调用和闭包~~
    (function (){
        var numArr=[]//暂时存放在数组中
        /*
        num:想要转换的10进制数
        want:想转换为want进制(目前不能超过10...)
        return:转换后的结果
        */
        function convert(num,want,firstTime=true){
    
            if(!num){
                console.log('why no num?')
                return false
            }
            if(!want){
                console.log('why no want?')
                return false
            }
    
            if(firstTime){
                numArr=[]
            }
            
        if(parseInt(num/want)!==0){//商不为0,则继续
            numArr.push(num%want) //取模
            return convert(parseInt(num/want),want,false) //把商再除以进制数
        }else{
            numArr.push(num) //商为0,说明小于进制数了,直接拿来用
            return parseInt(numArr.reverse().join(""))
        }
        
    }
    window.convert=convert
    return convert
    })()
    convert(66,2)
  • 相关阅读:
    按钮字体颜色的设置
    异常
    数据存储
    SQLiteOpenHelper
    MVC
    在单线程模型中 Message、Handler、Message Queue、Looper 之间的关系
    ListView 的优化方案
    fragment生命周期及优点
    ANR
    Android系统架构
  • 原文地址:https://www.cnblogs.com/ch459742906/p/7854172.html
Copyright © 2011-2022 走看看