美文网首页
JS 用栈的方式实现十进制对任一进制的转换

JS 用栈的方式实现十进制对任一进制的转换

作者: Delevent | 来源:发表于2020-04-30 14:52 被阅读0次

1. 建一个栈类

function Stack() {
    var items = [];
    this.push = function(element){
        items.push(element);
    };
    this.pop = function(){
        return items.pop();
    };
    this.peek = function(){
        return items[items.length-1];
    };
    this.isEmpty = function(){
        return items.length == 0;
    };
    this.size = function(){
        return items.length;
    };
    this.clear = function(){
        items = [];
    };
    this.print = function(){
        console.log(items.toString());
    };
}

2. 借助栈对象做十进制对任一进制的转换

function baseConverter(decNumber, base){
    var remStack = new Stack(),
        rem,
        baseString = '',
        digits = '0123456789ABCDEF'; 

    while (decNumber > 0){
        rem = Math.floor(decNumber % base);
        remStack.push(rem);
        decNumber = Math.floor(decNumber / base);
    }

    while (!remStack.isEmpty()){
        baseString += digits[remStack.pop()];
    }

    return baseString;
}

摘录自 《学习JavaScript数据结构与算法》

相关文章

  • JS 用栈的方式实现十进制对任一进制的转换

    1. 建一个栈类 2. 借助栈对象做十进制对任一进制的转换 摘录自 《学习JavaScript数据结构与算法》

  • 栈--利用栈实现进制转换

    利用栈实现进制转换 一、二进制转十进制 利用栈的数据结构特点,将二进制转换为十进制数。 二进制数是计算机数据的存储...

  • Java入门:代码实现十进制转二、八、十六进制

    一、十进制-->二进制 二、十进制-->十六进制 三、封装查表法实现进制转换:

  • python-基础篇练习题

    通过代码实现如下转换:二进制转换成十进制:v = “0b1111011”十进制转换成二进制:v = 18八进制转换...

  • python 的进制转换

    十进制, 二进制相互转换 十进制转换为二进制 二进制转换为十进制 十进制, 八进制相互转换 十进制转换为八进制 八...

  • 进制转换(了解)

    本章内容了解就行 进制转换 进制的表示 十进制转二进制用需要转换的十进制数除以2,记录结果和余数用结果除以2,记录...

  • 进制转换

    十进制转换为二进制 185 = 10111001 十进制转换为八进制 185=271 十进制转换为十六进制 185...

  • 栈的应用(二进制问题)

    使用栈能解决的问题 将二进制数据转换成十进制数据 1. 将二进制转换成十进制 在计算机内部数据存储都是保存成二进制...

  • 【iOS 开发】二进制、十进制、十六进制相互转换的方法

    十进制转换为二进制 十进制转换为十六进制 二进制转换为十六进制 十六进制转换为二进制 二进制转换为十进制 作者:J...

  • 计算机基础知识

    一,二进制和十进制转换 1.十进制转换为二进制:进行对2取余法计算 2.二进制转换为十进制: 从最后一位开始算,依...

网友评论

      本文标题:JS 用栈的方式实现十进制对任一进制的转换

      本文链接:https://www.haomeiwen.com/subject/zbbzwhtx.html