HJ5 进制转换

描述

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

数据范围:保证结果在 1 \le n \le 2^{31}-1 \1≤n≤2 ^31 −1

输入描述:

输入一个十六进制的数值字符串。

输出描述:

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

示例1

输入:
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)
posted @ 2022-08-05 22:50  Tricia11  阅读(59)  评论(0)    收藏  举报  来源