华机 进制转换 js实现

题目

描述
写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。

数据范围:保证结果在
1



2
31

1

1≤n≤2
31
−1
输入描述:
输入一个十六进制的数值字符串。

输出描述:
输出该数值的十进制字符串。不同组的测试用例用\n隔开。

示例1

输入: 0xAA
输出: 170

代码

const rl = require("readline").createInterface({
    
     input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
    
    
  // Write your code here
  while ((line = await readline())) {
    
    
    let content = line.slice(2);
    let len = content.length - 1;
    let result = 0;
    let count = 0;

    while (len >= 0) {
    
    
      let ch = content.slice(len, len + 1);
      let tempValue = 0;
      switch (ch) {
    
    
        case "0":
          tempValue = 0;
          break;
        case "1":
          tempValue = 1;
          break;
        case "2":
          tempValue = 2;
          break;
        case "3":
          tempValue = 3;
          break;
        case "4":
          tempValue = 4;
          break;
        case "5":
          tempValue = 5;
          break;
        case "6":
          tempValue = 6;
          break;
        case "7":
          tempValue = 7;
          break;
        case "8":
          tempValue = 8;
          break;
        case "9":
          tempValue = 9;
          break;
        case "A":
          tempValue = 10;
          break;
        case "B":
          tempValue = 11;
          break;
        case "C":
          tempValue = 12;
          break;
        case "D":
          tempValue = 13;
          break;
        case "E":
          tempValue = 14;
          break;
        case "F":
          tempValue = 15;
          break;
        default:
          break;
      }
      result +=tempValue * Math.pow(16,count);
      count ++
      len --;
    }
    console.log(result);
  }
})();

猜你喜欢

转载自blog.csdn.net/weixin_45566730/article/details/130184657