发条橙子 发表于 2004-9-27 00:32:25

IP地址基础知识

IP基础--1.IP地址

二进位和逻辑运算

在我们认识IP地址之前我想我们很有必要认识两个概念二进位和逻辑运算。虽然我也知道这两个东东都不好理解但如果不知道它们的工作原理那麽以後我们在讨论IP地址和子网的时候您就要靠死记了。不过一旦你知道了其原理那麽您在任何的IP网路中都不至於迷失所谓“万变不离其宗”是也。

二进位 (Binary)


为什麽我们要学二进位哎呀还不是该死的蠢电脑嘛它只懂得0和1那麽我们要和电脑沟通的时候也只好装蠢一些才行。当电脑要处理IP运算的时候最终是以二进位的形式进行的。

我们人类最习惯的运算规则是十进位也就是从0到9为一圈回到零的时候就进一位数而我们前面讨论的bit和byte则是八进位即0到7为一圈回到零就进一位数另外还有十六进位由0到15为一圈回到零进一位但使用数字15很容易和十进位混乱所以在十六进位里面从10到15之间分别用英文字母A到F代替了所以我们通常看到的十六进位是从0到F的排列。

好了认识了上面这几种运算规则相信理解二进位也不难道理是一样的从0到1为一圈回到0进一。那麽我们看看十七个连续递增的十进位二进位和十六进位数字之间的比较将会是这样的

十进位 二进位 十六进位
0 0 0
1 1 1
2 10 2
3 11 3
4 100 4
5 101 5
6 110 6
7 111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
16 10000 10


如果您想进行二进位和十进位的换算在列表中找到相应的数字是最简单的方法但正如您刚才所见光十六个数字已经有这麽长的列表了如果要找成千上百个数字可不是件容易的事情。不过我们在IP地址上面看到的十进位数字最大不会超过255这个数值。我们可以先将2的0到7次方列出来

27 26 25 24 23 22 21 20
128 64 32 16 8 4 2 1


当我们要将十进位换成二进位的时候我们只要找到找到该数字对应的栏位(方法是找到两个数值相若的栏位而取其右)在相对的栏位填上1然後用余数继续寻找下一栏位再填1直到再没余数为止最後把其它栏位都填上0就可以了。

例如我们要换算220这个十进位数字到二进位

我们找到128这栏位是最合适的(因为128的左边是256而220 界乎它们之间取其右则为 128 )。那麽我们在128这栏位上面填上1
继续余数92我们找到64这栏位是最合适的那麽在64这个栏位也填上1
继续余数28我们找到16这栏位是最合适的那麽在16这个栏位也填上1
继续余数12我们找到8这栏位是最合适的那麽在8这个栏位也填上1
继续余数4我们找到4这栏位刚好对应这是最好找到情形了。那麽在4这个栏位也填上1
因为再没有余数了其它都填上0就对了。

其结果如下 128 64 32 16 8 4 2 1
1 1 0 1 1 1 0 0


如果我们要将二进位换算成十进位利用上面的栏目来做就更加简单了只要将二进位数字从右往左的顺序依次填入栏位那麽将凡是被1所对应的数字相加得出来的和就是十进位数字了。

当然啦这是手工的方法啦如果您有二进位的计数器或是使用Windows的小算盘来进行换算更是易如反掌啦。如果您还不知道怎麽用Windows的小算盘点话可以依以下步骤进行

“开始/程式集/附属应用程式/小算盘”
然後拉下“检视”选单确定“工程型”已被选择
然後点选“十进位”输入数值
再点选“二进位”就可以获得换算数值了

NEPTECH 发表于 2004-9-27 03:41:44

<P>呵呵,不错</P><P>偶是学网络的`~</P><P>愿意交流的联系我<a href="mailtlovenep@tom.com" target="_blank" >lovenep@tom.com</A></P><P>我大二了,在南区</P><P>另,急觅一美工高手,帮我完成团委网页改版。联系我qq:254590900</P>

大鸟,飞起来 发表于 2004-10-10 15:00:16

<P>待遇怎么样啊,我是做前后台的,呵呵,不过,美工太郁闷,不如ASP和PHP好做</P>

发条橙子 发表于 2004-10-10 16:30:44

<P>呵呵!怎么现在都是少美工的啊!郁闷哦!</P><P>偶也是学网络的!</P>
页: [1]
查看完整版本: IP地址基础知识