写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
数据范围:保证结果在 1 \le n \le 2^{31}-1 \1≤n≤2 ^31 −1
输入一个十六进制的数值字符串。
输出该数值的十进制字符串。不同组的测试用例用\n隔开。
输入: 0xAA
输出: 170
将字符串倒叙存放到一个数组中,然后进行进制转换 0xAA ——> 10 x 160 + 10 x 161
const num = readline()
let arr = []
let sum = 0
for (item of num) {
arr.unshift(item)
}
for(let i = 0; i< arr.length-2; i++) {
if (arr[i] === 'A') value = 10
else if (arr[i] === 'B') value = 11
else if (arr[i] === 'C') value = 12
else if (arr[i] === 'D') value = 13
else if (arr[i] === 'E') value = 14
else if (arr[i] === 'F') value = 15
else value = +arr[i]
// console.log(value)
// console.log(value*Math.pow(16,i))
sum += value*Math.pow(16,i)
}
console.log(sum)