写个进制转换函数,用js
时间: 2023-09-06 19:05:13 浏览: 124
### 回答1:
好的,以下是用 JavaScript 编写的进制转换函数:function convertBase(input, fromBase, toBase) {
const digits = input.split('');
let decimal = 0; for (let i = 0; i < digits.length; i++) {
decimal += parseInt(digits[i], fromBase) * Math.pow(fromBase, digits.length - i - 1);
} const output = [];
let rem = decimal;
while (rem >= toBase) {
const div = Math.floor(rem / toBase);
const mod = rem % toBase;
output.unshift(mod);
rem = div;
} output.unshift(rem);
return output.join('');
}
### 回答2:
进制转换函数是一种将一个数值从一种进制表示转换为另一种进制表示的函数。在JavaScript中,可以使用内置的toString()方法和parseInt()函数来实现进制转换。
以下是一个将十进制数转换为其他进制的函数示例:
```javascript
function decimalToBase(num, base) {
return num.toString(base);
}
```
示例使用了toString()方法,其中参数base表示所需的进制。该方法将十进制数num转换为base进制,并返回转换后的字符串。
以下是一个将其他进制数转换为十进制的函数示例:
```javascript
function baseToDecimal(num, base) {
return parseInt(num, base);
}
```
示例使用了parseInt()函数,其中num表示需要转换的数值,base表示num的进制。函数将num转换为十进制,并返回转换后的结果。
你可以根据具体的需求和进制要求,在这两个函数的基础上进行改进和扩展。通过这些函数,你可以在JavaScript中方便地进行进制转换操作。
### 回答3:
进制转换函数可以将一个数字从一种进制转换为另一种进制。以下是一个使用JavaScript编写的进制转换函数的示例:
function convertBase(number, fromBase, toBase) {
if (fromBase === toBase) {
return number.toString();
}
let decimal = parseInt(number, fromBase);
let converted = '';
while (decimal > 0) {
converted = (decimal % toBase).toString() + converted;
decimal = Math.floor(decimal / toBase);
}
return converted;
}
该函数接受三个参数:需要转换的数字(number)、原始进制(fromBase)和目标进制(toBase)。如果原始进制和目标进制相同,则直接返回数字的字符串表示。
接下来,函数将原始进制的数字转换为十进制,然后逐位进行进制转换并存储在一个字符串中。最后,返回转换后的字符串表示结果。
例如,要将十进制数55转换为二进制,可以使用以下代码:
let decimalNumber = 55;
let binaryNumber = convertBase(decimalNumber, 10, 2);
console.log(binaryNumber); // 输出: "110111"
同样,要将二进制数110111转换为十进制,可以使用以下代码:
let binaryNumber = "110111";
let decimalNumber = convertBase(binaryNumber, 2, 10);
console.log(decimalNumber); // 输出: "55"
该函数还支持其他进制之间的转换,例如将十进制数转换为八进制、十六进制等。只需要根据需要修改`fromBase`和`toBase`的值即可。
总之,这是一个进制转换函数的简单实现,可以在JavaScript中使用。
阅读全文