js进制转换算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在JavaScript中,进制转换通常涉及十进制与其他进制的转换。

以下是这两种类型的一些基本算法:
1.
十进制转其他进制(例如二进制、八进制或十六进制):
2.
javascript复制代码
function decimalToOtherBase(decimalNumber, base) {
var map = {
2: "01",
8: "01234567",
16: "0123456789ABCDEF"
};
var result = "";
while(decimalNumber > 0) {
result = map[base].charAt(decimalNumber % base) + result;
decimalNumber = Math.floor(decimalNumber / base);
}
return result;
}
使用方法:console.log(decimalToOtherBase(10, 2));输出:1010(十进制的10转为二进制的结果)
2. 其他进制转十进制:
javascript复制代码
function otherBaseToDecimal(number, base) {
var map = {
2: {toDecimal: function(n){return n}},
8: {toDecimal: function(n){return parseInt(n, 8)}, fromDecimal:
function(n){return parseInt(n, 10)}} ,
16: {toDecimal: function(n){return parseInt(n, 16)}, fromDecimal: function(n){return parseInt(n, 10)}}
};
return map[base].fromDecimal(number);
}
使用方法:console.log(otherBaseToDecimal('A', 16));输出:10(十六进制的'A'转为十进制的结果)
注意,这些函数只处理整数,不处理小数。

如果你需要处理小数,那么你可能需要修改这些函数来处理小数。

相关文档
最新文档