打开计算器做这么小的事情对我来说很烦人,我坚信这句话“你知道的越多越好!”所以我在这里问你如何将十六进制转换为十进制。
直到那一刻我使用以下公式:
Hex: Decimal:
12 12+6
22 22+2*6
34 34+3*6
49 49+4*6
99 99+9*6
当我继续使用更高的数字(如C0或FB
)时,我感到困惑你正在使用的公式(大脑,不起作用)是什么?
答案 0 :(得分:37)
如果你认为十六进制是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
答案 1 :(得分:15)
那不是公式......那甚至不像公式......
公式为:
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
答案 2 :(得分:9)
当我发现我使用的十六进制数字是32位时,我几乎停止了这样做。那里没什么好玩的。
对于较小的数字,我(最终)记住了一些模式:10 = 16,20 = 32,40 = 64,80 = 128(因为100 = 256,80减少了一点)。 200 = 512我记得因为我曾经使用的一些机器,其页面大小为512(不再记得什么机器!)。 1000 = 4096因为这是另一台机器的页面大小。
也是,64 = 100,32 = 50,B8 = 200
这就是全部。除此之外,我补充说。
答案 3 :(得分:7)
为了记录,你的大脑确实使用了找到答案的功能方法。这是我的大脑用来查找十六进制数值的函数:
答案 4 :(得分:3)
记住20h,40h等十进制值,直至E0h。 (我想你已经知道了100h。) 然后通过添加或减去1到16之间的数字来获取其他数字的小数值。
答案 5 :(得分:2)
小数值为
20h = 0x16^0 + 2x16^1 = 0x1 + 2x16 = 0 + 32 = 32
以十进制表示法,或(32)10
。
对于hexa中的40h
,我们将以小数点64
为EOH
,我们将以十进制为224
。
答案 6 :(得分:1)
在确定单词中特定索引的十进制值时,对所有基数进行推广:
b^i*n
其中b是基数,i是单词中的索引,n是索引处的数值。记住这一点,记住b,i,n = bin =二进制的简称。
for base2(binary) 1 000,获取1所在的值:
b = base,即base2: b = 2
基于i = 0的单词内的索引,即1000,1表示第3个索引, i = 3
n =索引中列出的数字,即1000,第3个索引为1, n = 1
所以,2 ^ 3 * 1 = 8
for base10(十进制) 9 00,获取9所在的值:
b = 10,i = 2,n = 9:10 ^ 2 * 9 = 100 * 9 = 900
表示base16(十六进制)0x0 f 0,得到f所在的值:
b = 16,i = 1,n = 15(0-9,a-f,f = 15):16 ^ 1 * 15 = 16 * 15 = 240
请注意,这可用于确定单词中每个索引的值,然后可以将每个值相加以确定完整的单词值。
e.g。 1001,从左到右(顺序无关紧要):
(2 ^ 3 * 1 = 8)+(2 ^ 2 * 0 = 0)+(2 ^ 1 * 0 = 0)+(2 ^ 0 * 1 = 1)= 9
答案 7 :(得分:0)
我没有发现任何帮助,所以这是我的方法: 将其转换为两组二进制数字来表示每个字母,然后将整个二进制表示形式转换为十进制
示例: AB
A / B
= 1010/1011二进制
= 171(128 + 0 + 32 + 0 + 8 + 0 + 2 + 1)以十进制表示
答案 8 :(得分:0)
这是另一种不涉及16的幂且可以用铅笔和纸完成的方法:
从最左边的数字开始。将其乘以16,然后从左数第二个数字相加。 然后将结果乘以16,然后将其从左数第三个数字相加。依此类推。
例如,将0x20A5
转换为十进制:
2 * 16 + 0 = 32
32 * 16 + 10 = 522 (remember that A is 10 decimal)
522 * 16 + 5 = 8357
转换结果为8,357。