这篇文章主要介绍了JS十进制怎么转二进制的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JS十进制怎么转二进制文章都会有所收获,下面我们一起来看看吧。
计算十进制转换为二进制的过程可以当成把每个计算后取余的数字压入栈内的操作
具体实现过程如下
// 十进制转二进制代码function dec2bin(decNumber){ //定义栈var stack=new Stack() //将数字压入栈内while(decNumber>0){ // 1- 获取余数 将其压入栈内 stack.push(decNumber%2) // 2- 获取整除后的结果 作为下一次取余的数字 decNumber=Math.floor(decNumber/2)}// 从栈内取出var result=''while(!stack.isEmpty()){ //将栈顶数字依次压入数组中 result+=stack.pop()}//返回结果return result}console.log(dec2bin(1000))console.log(dec2bin(100))console.log(dec2bin(10))
手写思路:
首先定义一个函数 并定义传入所需转换数字
使用栈结构(此处需提前封装好栈 功能 如 pop push)
循环判断(此处为将数字压入栈内操作) 数字是否大于0
循环内部 :首先对传入的数字 取余(此处为十进制转二进制 需除2)然后 将数字取整后的结果更新 循环操作 直到数字小于等于0
首先定义一个空数组
循环判断(此处为将结果从栈内取出操作)栈内是否有元素
循环内部 :空数组 加等 栈内每次取出的元素
下面是封装栈的代码 可省略
function Stack() { //栈 中的一些属性 this.items = [] //栈内操作 //1.将元素压入栈 Stack.prototype.push = function (element) { this.items.push(element) } //2.从栈中取出元素 Stack.prototype.pop = function () { return this.items.pop() } //3.查看一下栈顶元素(不改变栈结构) Stack.prototype.peek = function () { return this.items[this.items.length - 1] } //4.判断栈是否为空 Stack.prototype.isEmpty = function () { return this.items.length == 0 } //5.获取栈中元素个数 Stack.prototype.size = function () { return this.items.length } //6.toString方法 Stack.prototype.toString = function () { var result = '' for (var i = 0; i < this.items.length; i++) { result += this.items[i] } return result }}
关于“JS十进制怎么转二进制”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“JS十进制怎么转二进制”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。