十三 计算相关
跬步郎注:计算相关这一栏目主要是IP地址划分、分配等。每年必考,要求大家必须掌握。
划分IP地址的计算需要掌握十进制和二进制的转换和子网掩码的分配。
十进制和二进制相互转换(部分内容摘自知乎的"fangfang"):
十进制转换为二进制
十进制转二进制分为整数转二进制,和小数转二进制
整数转二进制
-
采用"除2取余,逆序排列"法:
-
1.首先用2整除一个十进制整数,得到一个商和余数
-
2.然后再用2去除得到的商,又会得到一个商和余数
-
3.重复操作,一直到商为小于1时为止
-
4.然后将得到的所有余数全部排列起来,再将它反过来(逆序排列),切记一定要反过来!
假设我们现在需要将42转为二进制,那我们怎么做呢,如下图所示:
42转为二进制后为101010(结果取反)
小数转二进制
-
采用"乘2取整,顺序排列"法:
-
1.用2乘十进制小数,可以得到积,将积的整数部分取出
-
2.再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出
-
3.重复操作,直到积中的小数部分为零,此时0或1为二进制的最后一位,或者达到所要求的精度为止
-
例如将0.125转换为二进制:
0.125 * 2 = 0.25 ------0
0.25 * 2