【网络通信】IP地址与进制计算 ( 总结 )
【网络通信】IP地址与进制计算 ( 总结 )
2022-08-04 / 0 评论 / 283 阅读 / 37 点赞

【网络通信】IP地址与进制计算 ( 总结 )

发光的神
2022-08-04 / 0 评论 / 283 阅读 / 正在检测是否收录...

IP地址

IP地址是一个32位的二进制数,通常被分割为4个 "8位二进制数" (也就是4个字节)。
通常用 "点分十进制" 表示成(A.B.C.D)的形式,其中A、B、C、D都是0~255之间的十进制整数。
在一个子网中第一个和最后一个为保留地址,所以在一般情况局域网中可使用的IP为1~254。

IP类别网络标识可支持网络数目主机标识每个网络支持主机数
A类前8位(左第一个为0)2^7-2=126后24位256^3-2=16777214
B类前16位(左前两个为10)2^14=16384后16位256^2-2=65534
C类前24位(左前三个为110)2^21=2097152后8位256-2=254
D类IP地址范围从224.0.0.0 - 239.255.255.255D类IP地址为组播地址,一般用于多路广播用户
E类IP地址范围为240.0.0.0 - 255.255.255.255此类为保留地址,留待特殊用途

l9p6qwrh.png

// 全部1十进制那就是255
A:00000000 ~ 01111111 64 + 32 + 16 + 8 + 4 + 2 + 1  // 加起来就是结果127
B:10000000 ~ 10111111 128 32 16 8 4 2 1
C:11000000 ~ 11011111 128 64 16 8 4 2 1
D:11100000 ~ 11101111 128 64 32 8 4 2 1
E:11110000 ~ 11111111 128 64 32 16 8 4 2 1

把是的1加起来就行了等于127,0是一个保留地址,127是一个测试地址。
A类地址范围:1 ~ 126 // 大型网络
B类地址范围:128 ~ 191 // 中型网络
C类地址范围:192 ~ 223 // 小型网络
D类地址范围:224 ~ 239 // 广播地址(路由器用的)
E类地址范围:240 ~ 255 // 实验保留(我们用不到)

子网掩码

简单来说将一个IP地址区分为,网络位和主机位,同一网络位的IP地址能互相通信,
不需要通过网关,如果是不同的网络位IP地址进行通信,就需要网关路由转发。

192.168.1.0  // C类IP地址
255.255.255.0 // 子网掩码24位 255转二进制是8个1,这里有3组8 3*8=24
11111111.11111111.11111111.00000000 // 连续的1对应的是网络号和子网号 0是主机位
// 地址从 256 - 2 = 254 可以存储1 ~ 254个主机

202.136.10.20 // 20转二进制 00010100 
255.255.255.128 // 128转二进制 10000000 
20:00010100 // 进行与运算 两个是1那么就是1 一个不是1那就是0 
128:10000000 // 两个真那就是真一个真一个假那就是假 可以发现都没对上那就是0
202.136.10.0 // 255全是1那么就是它本身直接写下来 与出来的结果是0加上
255.255.255 // 这个掩码是24位再加上10000000里有一位就是25掩码范围

202.136.10.0/25 // 能储存 2 ^ 25 - 2 = 33554430 个主机 在划分的ip地址中有两个地址是不能用的,那就是网络号和广播地址,所以这里要减去2。
255.255.255.128

l9trerxl.png

1.有一个子网计算工具,百度下就有可以很形象的看出来。

进制表示有(十进制、二进制、八进制、十六进制)

在日常生活中我们用的是十进制,一位的十进制数的范围是0~9如果要表示10,那么就要用两位的十进制数。
二进制是计算机用的更适合逻辑运算 二进制只有两种状态1和0表示真和假 类似一个信号开和关一样。

1 字节(B)=8 比特(bit)
1个字节(Byte)等于8个bit位,每个bit位是0/1两种状态,也就是说一个字节可以表示256个状态,计算机里用字节来作为最基本的存储单位。

字节间换算
1kB = 1000B(字节, Byte)。
1KB=1024B;1MB=1024KB=1024×1024B。
1B(byte,字节)= 8 bit(见下文);
1KB(Kilobyte,千字节)=1024B= 2^10 B;
1MB(Megabyte,兆字节,百万字节,简称"兆")=1024KB= 2^20 B;
1GB(Gigabyte,吉字节,十亿字节,又称"千兆")=1024MB= 2^30 B;

4字节能存储多大的数字呢?

有符号:2 ^ 31 - 1 = 2147483647
无符号:2 ^ 32 - 1 = 4294967295

二进制转十进制

01100000 转十进制是 96 怎么得出来的呢 很简单 
按2的倍数开始计位如下:

0   1  1  0  0  0  0  0
128 64 32 16 8  4  2  1

有1的就把下面的倍数加起来就是了
64 + 32 = 96 这就是结果

十进制转二进制

100 转二进制 快速反推思路
在64 ~ 1内多少加起来等于100
64 32 16 8  4  2  1

很显然 64 + 32 + 4 = 100 这样就得出来了
直接补上就是了 64 32 4 都是1其他的是0
最终结果:01100100

二进制转十六进制

10:1 0 1 0
    8 4 2 1 // 把是1的位数加起来就行
8 + 2 = 10 = A // 在16进制里10就A 

38:0  0  1  1  1  0  0  0 // 4位为一组 后面有三个0 不用加0 因为四位一组
    8  4  2  1  8  4  2  1 // 前4位2 + 1 = 3 后4位是8 拼接起来
3 + 8 = 38 // 十六进制 38

二进制转八进制

10:1 0 1 0
    1 4 2 1 // 把是1的位数加起来就行
1 + 2 = 12  // 1和2拼接起来

70:0  0  1  1   1  0  0  0 // 3位为一组 有三个0 要加一个0 因为3位一组
    2  1  4  2   1  4  2  1 // 前3位4 + 2 + 1 = 7 后3位是0 拼接起来
7 + 0 = 70 // 八进制 70
37

评论 (0)

取消
0:00