打开计算器做这么小的东西对我来说很烦人,我坚信这句话"你知道的越多越好!" 所以我在这里问你如何将十六进制转换为十进制.
直到那一刻我使用以下公式:
Hex: Decimal:
12 12+6
22 22+2*6
34 34+3*6
49 49+4*6
99 99+9*6
Run Code Online (Sandbox Code Playgroud)
当我继续使用更高的数字(如C0或FB)时,我感到困惑
你正在使用的公式(大脑,不是功能)是什么?
And*_*ler 38
如果你认为十六进制是16的基数,它实际上很容易:
从最低有效数字开始,向最重要的数字(从右到左)开始,然后将数字乘以16的增加,然后对结果求和.
例如:
0x12 = 2 +(1*16)= 18
0x99 = 9 +(9*16)= 153
然后,记住A = 10,B = 11,C = 12,D = 13,E = 14和F = 15
所以,
0xFB = 11 +(15*16)= 251
gbi*_*chi 17
这不是公式..这甚至不像公式......
公式是:
X*16 ^ y其中X是您要转换的数字,y是数字的位置(从右到左).
所以..如果你想将DA145转换为十进制将...
(5*16 ^ 0)+(4*16 ^ 1)+(1*16 ^ 2)+(10*16 ^ 3)+(13*16 ^ 4)
你必须记住这封信是:
A - 10
B - 11
C - 12
D - 13
E - 14
F - 15
当我发现我使用的十六进制数字是32位时,我几乎停止了这样做.那里没那么有趣.
对于较小的数字,我(最终)记住了一些模式:10 = 16,20 = 32,40 = 64,80 = 128(因为100 = 256,而80是少一点).200 = 512我记得因为我曾经使用的一些机器,其页面大小为512(不再记得什么机器!).1000 = 4096因为这是另一台机器的页面大小.
这就是全部.除此之外,我补充道.
为了记录,你的大脑确实使用了一种找到答案的功能方法.这是我的大脑用来查找十六进制数值的函数: