十进制转其他进制方法
将该十进制数和要转换的进制整除,直到结果为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"
网友评论