美文网首页
数据结构(2) 用栈做一个进制转换的方法

数据结构(2) 用栈做一个进制转换的方法

作者: Yossef | 来源:发表于2017-12-27 18:58 被阅读0次

上一篇已经讲到了什么是栈;压栈的作用是将节点有顺序的压进栈内就和压盘子一样,先进后出;弹栈的作用是可以将放入的节点按照先进后出的规则弹出;

先讲解一下进制转换的原理:

现在随便有一个数 比方说是 15 ,15用二进制表示 是 1111 算法为下:

15/2=7.......1;

7/2  =3........1;

3/2  =1........1;

1/2  =0........1;

把这些余数从下网上排列起来 就是 1111 我们再来一个8的二进制转换:

8/2 =4..........0;

4/2 =2..........0;

2/2 =1...........0;

1/2 =0...........1;

从下网上排列就是 1000 也就是八的二进制。

所以就可以想到把这些余数放进一个容器里,然后按照先放后出,晚放先出的原则打印出来就是转换进制的方法,这种方法非常复合 栈 的结构;

所以就可以用js写出:

栈已建好,在上一篇章:

var stack = new Stack();

function toTwo(num){

    var arr = [];

    while(num>0){

             v = Math.floor(num/2);

             y = num%2;

             num = v;

             arr.push(y);

    }

    return arr;

}

console.log(toTow(15));   // [1,1,1,1];

console.log(toTow(8));     //[1,0,0,0];

上面是转换二进制的方法 其实不管转换几进制的原理都和转换二进制一样 转换二进制就是出2 转换四进制就是 除4 最后都是取余 然后将余数 倒叙排列 就可以了。

所以掌握上面的原理 转换几进制都不再是问题。

相关文章

  • 数据结构(2) 用栈做一个进制转换的方法

    上一篇已经讲到了什么是栈;压栈的作用是将节点有顺序的压进栈内就和压盘子一样,先进后出;弹栈的作用是可以将放入的节点...

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

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

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

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

  • 【数据结构】栈和队列之练习题(用栈实现进制转换)

    1.利用栈的数据结构特点,将二进制转换为十进制数 分析 由于栈具有先进后出的特性,我们输入11001001的二进制...

  • 数据结构

    1.栈 1.1栈的创建 1.1.1栈的方法 1.2 应用 1.2.1 10进制转化为2进制 1.2.2 10进制转...

  • 进制转换

    2进制 , 8进制 , 10进制 , 16进制 , 介绍 及 相互转换 及 快速转换的方法 为什么要使用进制数 数...

  • 进制转换(了解)

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

  • 「算法归纳」常用数据结构相关

    栈 一个后进先出的数据结构 JavaScript中没有栈,使用Array代替 什么场景下用栈? 场景一 十进制转二...

  • iOS 进制转换

    常见的二进制、十进制、十六进制之间相互转换的方法。 1. 十进制转换为二进制 2. 十进制转换为十六进制 3. 二...

  • 基础知识

    二进制的转换 10进制转化成2进制 1.一般我们用到的数1.2...100,都是10进制的数,如何转换成2进制呢用...

网友评论

      本文标题:数据结构(2) 用栈做一个进制转换的方法

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