理论讲解:帮助你快速懂得心算十进制转二进制------------一做就会一讲就废系列


一:熟记二进制几个特殊数字。


  • 问:为什么只记忆这几个数字?
  • 答:因为IP地址使用二进制表示,范围是从00000000.00000000.00000000.00000000到11111111.11111111.11111111.11111111,而0在二进制和十进制中都是0,而二进制的11111111在十进制中就是255,所以IP地址就是从0.0.0.0到255.255.255.255。
    十进制数字 二进制表示
    128 10000000
    192 11000000
    224 11100000
    240 11110000
    248 11111000
    252 11111100
    254 11111110
    255 11111111

十进制数字 二进制表示
128 10000000
192 11000000
224 11100000
240 11110000
248 11111000
252 11111100
254 11111110
255 11111111

2.找到二进制的转换规律。


十进制数字 规律
128 128+ 2^6 (64)=192
192 192+ 2^5 (32)=224
224 224+ 2^4 (16)=240
240 240+ 2^3 (8)=248
248 248+ 2^2 (4)=252
252 252+ 2^1 (2)=254
254 254+ 2^0 (1)=255
255 255是最后一个
  • 你会发现规律,从128–225,每两个数之间的差是递减的:64-32-16-8-4-2-1.把这个记住。

3.转二进制的规则理解。


上面的都记住之后,我们就可以开始理解这个算法了。

规则1:
我们把8位的二进制,从右向左,对应数字 2的0次方(2^0) 至 2的7次方(2^7)。
那么写出来就是:

1111 1111
128 64 32 16 8 4 2 1

这个不难理解,将这个记住就ok。

规则2:
将X(0<X<256)转二进制,我们开始计算(128.64.32.16.8.4.2.1)哪些加起来等于X。我们只算加起来等于X,我们不算减法等于X,因为减法需要向前借一位,个人感觉比较复杂,不建议。

规则3:
在转化二进制中,128.64.32.16.8.4.2.1,这八个数,用到哪个,哪个对应的位置就写1,其他为0.

4.举例消化,一举例你就明白了。


  • 先把规则1写下来,再开始看例子。

  • 例1:
    将 129转换成二进制。

  • 算法:在128.64.32.16.8.4.2.1中选择数字加起来等于129.我们发现128+1=129.
    我们知道128用二进制表示是 1000 0000(最开始就让你记忆的那些数字),再加上规则三,用到哪个数,哪个数就写1,因此我们得到答案是:1000 0001

  • 例2:
    将168转换成二进制。

  • 算法:我们发现128+40=168,32+8=40,所以就是128+32+8=168,所以我们把对应的数字写成1,因此我们得到的答案是: 1010 1000

  • 例3:
    将244转换成二进制。

  • 算法:我们发现我们已经知道240的二进制了:1111 0000,(之前记忆的),那么就是240+4=244.所以我们将240的二进制写出来,然后将4对应的位置写成1。因此我们得到的答案就是1111 0100.

  • 例4:
    将253转换成二进制。

  • 算法:我们已经知道252的二进制了:1111 1100(之前记忆的),那么就是252+1=253,所以我们将1对应的位置写成1,得到答案1111 1101

  • 例5:
    将80转成二进制。

  • 算法:64+16=80,将64和16这两位写成1,那么得到答案:0101 0000,最前面的0可以省略,所以我们的答案也可以写成101 0000

  • 总结:我们发现我们转换X成二进制的时候,我们都是挑选最靠近X的数,而且已经是我们记忆过的数字,然后再进行加法运算。所以,只要记住前面的特殊数字和三个法则,稍稍练习,你就完全可以心算二进制。

猜你喜欢

转载自blog.csdn.net/Hero_V/article/details/107108695