十進(jìn)制轉(zhuǎn)其他進(jìn)制方法
將該十進(jìn)制數(shù)和要轉(zhuǎn)換的進(jìn)制整除,直到結(jié)果為0
Math.floor() 方法是讓除法操作僅返回整數(shù)。
數(shù)組模擬棧的兩個(gè)方法:push()和pop()
function baseConverter(decNumber,base){
let remStack = [],
rem,
baseString='',
digits='0123456789ABCDEF’;//十六進(jìn)制數(shù)字轉(zhuǎn)換
while(decNumber>0){
rem = Math.floor(decNumber%base)
remStack.push(rem)// 取余存入棧
decNumber = Math.floor(decNumber/base)//拿decNumber除以base的結(jié)果不斷取余
}
while(remStack.length!=0){
baseString+=digits[remStack.pop()]//將棧里的數(shù)據(jù)連接成字符串
}
return baseString
}
baseConverter(100345,8)
"303771"
baseConverter(100345,16)
"187F9"
baseConverter(100345,2)
"11000011111111001"