十六进制换算成十进制
关于栈的用法,将十六进制的数换算成十进制的,主要是那个算法不清楚,怎样实现,请诸位大侠帮忙!谢
一个十六进制数abcde,按权展开得到abcde = a*16^4+b*16^3+c*16^2+d*16^1+e*16^0 (^代表乘方,即16^2指16的平方)
根据霍纳法则a*16^4+b*16^3+c*16^2+d*16^1+e*16^0 = ((((a*16)+b)*16+c)*16+d)*16+e(具体编程可使用for循环迭代解出)
因为16是2的整数次幂,因此可以使用左移运算符代替乘法运算加快速度(一个无符号数左移一位相当于对其乘以二)