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.255 | D类IP地址为组播地址,一般用于多路广播用户 | ||
| E类 | IP地址范围为240.0.0.0 - 255.255.255.255 | 此类为保留地址,留待特殊用途 |

// 全部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
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
评论 (0)