Binary 二进制转换-使用(ANX2)^n…(A0X2)^0

Binary 二进制转换-使用(ANX2)^n…(A0X2)^0,binary,decimal,data-conversion,Binary,Decimal,Data Conversion,我错过了什么?我对手写二进制到十进制的转换相当陌生,我不明白为什么,至少对我来说,1110和1111看起来都等于15,但我知道1110=14 Binary = 1110 n = 3210 calc = (1*2)^3 = 8 (1*2)^2 = 4 (1*2)^1 = 2 (0*2)^0 = 1 = 15 Binary = 1111 n = 3210 calc = (1*2)^3 = 8 (1*2)^2

我错过了什么?我对手写二进制到十进制的转换相当陌生,我不明白为什么,至少对我来说,1110和1111看起来都等于15,但我知道1110=14

Binary = 1110
n =      3210
calc = (1*2)^3 = 8
       (1*2)^2 = 4
       (1*2)^1 = 2
       (0*2)^0 = 1
       = 15

Binary = 1111
n =      3210
calc = (1*2)^3 = 8
       (1*2)^2 = 4
       (1*2)^1 = 2
       (1*2)^0 = 1
       = 15

我认为你的困惑在于你的公式不正确,它不是
(An*2)^n
而是
An*(2^n)
():

您的公式(在问题标题中)的优先级错误。它不是
(anx2)^n…(a0x2)^0
,而是
一个x(2^n)…a0x2^0


@OliverCharlesworth现在我知道我在做什么了,它是0。这更有意义。SQL圣经实际上把它写成(An*2)^n…(An-1*2)^n等等。这肯定是印刷错误。这更有意义。SQL圣经实际上写为(An*2)^n…(An-1*2)^n等。这肯定是印刷错误。也许你可以让他们采用Knuth book bug赏金系统:-)
1110
1 * 2^3 = 8
1 * 2^2 = 4
1 * 2^1 = 2
0 * 2^0 = 0
         --- 
          14

1111
1 * 2^3 = 8
1 * 2^2 = 4
1 * 2^1 = 2
1 * 2^0 = 1 
         ---
          15
Binary = 1110
n =      3210
calc = 1*2^3 = 1*8 = 8
       1*2^2 = 1*4 = 4
       1*2^1 = 1*2 = 2
       0*2^0 = 0*1 = 0
       = 14

Binary = 1111
n =      3210
calc = 1*2^3 = 1*8 = 8
       1*2^2 = 1*4 = 4
       1*2^1 = 1*2 = 2
       1*2^0 = 1*1 = 1
       = 15