题目
描述
写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
数据范围:保证结果在
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);
}
})();