js number 进制转换

十进制转其他进制方法

将该十进制数和要转换的进制整除,直到结果为0
Math.floor() 方法是让除法操作仅返回整数。
数组模拟栈的两个方法:push()和pop()

function baseConverter(decNumber,base){
let remStack = [],
rem,
baseString='',
digits='0123456789ABCDEF’;//十六进制数字转换
while(decNumber>0){
rem = Math.floor(decNumber%base)
remStack.push(rem)// 取余存入栈
decNumber = Math.floor(decNumber/base)//拿decNumber除以base的结果不断取余
}

while(remStack.length!=0){
baseString+=digits[remStack.pop()]//将栈里的数据连接成字符串
}

return baseString
}

baseConverter(100345,8)
"303771"
baseConverter(100345,16)
"187F9"
baseConverter(100345,2)
"11000011111111001"

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容