根据IP地址和子网掩码求网络号、主机号

根据IP地址和子网掩码求网络号、主机号一、理论阐述目前,IP地址主要使用32位的二进制来表示,即IPv4地址。由于32位二进制不容易记忆和书写,故采用点分十进制形式来表示IP地址。IP地址由两部分组成{<网络号>,<主机号>},网络号表示计算机所在的网络,供路由器在进行路由选择时使用;主机号是计算机在该网络中的唯一标识。IP地址分为A、B、C、D、E五类,其中:A类IP地址第一个字节的范围是:1~126…

大家好,又见面了,我是你们的朋友全栈君。

一、理论阐述
目前,IP地址主要使用32位的二进制来表示,即IPv4地址。由于32位二进制不容易记忆和书写,故采用点分十进制形式来表示IP地址。IP地址由两部分组成{<网络号>,<主机号>},网络号表示计算机所在的网络,供路由器在进行路由选择时使用;主机号是计算机在该网络中的唯一标识。
IP地址分为A、B、C、D、E五类,其中:
A类IP地址第一个字节的范围是:1~126
B类IP地址第一个字节的范围是:128~191
C类IP地址第一个字节的范围是:192~223
D类IP地址第一个字节的范围是:224~239
E类IP地址第一个字节的范围是:240~255
子网掩码用来指明一个IP地址的网络位和主机位,它不能单独存在,必须结合IP地址一起使用。子网掩码也采用点分十进制来表示。
A类网络默认的子网掩码为:255.0.0.0
B类网络默认的子网掩码为:255.255.0.0
C类网络默认的子网掩码为:255.255.255.0
那么,在未进行子网划分的情况下,如何根据IP地址和子网掩码求出指定计算机的网络号和主机号呢?
求网络号:
(1)将点分十进制表示的IP地址、子网掩码分别转换为二进制表示;
(2)将以上得到的两个二进制做“与”(AND)运算,也可直接保留子网掩码中“1”所对应的IP地址的部分,主机位用“0”来填充;
(3)将第(2)步得到的运算结果转换为点分十进制表示,即可得到网络号。
求主机号:
(1)将点分十进制表示的IP地址、子网掩码分别转换为二进制表示;
(2)将上面得到的二进制表示的子网掩码取反,再与二进制表示的IP地址做“与”(AND)运算,也可直接保留子网掩码中“0”所对应的部分;
(3)将第(2)步得到的运算结果转换为点分十进制表示,即可得到主机号。
二、举例说明
已知:IP地址为192.168.0.143,子网掩码为255.255.255.0,求网络号、主机号。
解:
(1)将IP地址转换为对应的二进制:
11000000.10101000.00000000.10001111
(2)将子网掩码转换为对应的二进制:
11111111.11111111.11111111.00000000
(3)以上两结果进行“与”运算:
11000000.10101000.00000000.00000000
(4)将上述二进制结果转换为点分十进制表示,则网络号为:
192.168.0.0
(5)将子网掩码的二进制表示取反:
00000000.00000000.00000000.11111111
(6)将(1)和(5)的结果做“与”运算:
00000000.00000000.00000000.10001111
(7)将上述二进制结果转换为点分十进制表示,则主机号为143。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152544.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 转载:Visio2013的密钥「建议收藏」

    转载:Visio2013的密钥「建议收藏」因为新买的电脑安装visio后之前的注册机都用不了,只能从网上找密钥激活,以下是转载网上的,有需要者自行尝试把VisioProfessional2013KEYC2FG9-N6J68-H8BTJ-BW3QX-RM3B32NYF6-QG2CY-9F8XC-GWMBW-29VV8FJ2N7-W8TXC-JB8KB-DCQ7Q-7T7V3VXX6C-DN3HQ-3CRXG-RF4KT-YG7V3B3…

    2022年6月24日
    69
  • Python玩转emoji表情 一行代码的事儿!

    Python玩转emoji表情 一行代码的事儿!Python可以实现emoji表情一行代码的事儿!有时候在代码中加入一些有趣的操作可以使得友好度UP好几个LEVEL,正好了解到Python支持emoji表情的输出,实现方式相当简单。

    2022年4月28日
    49
  • leetcode-76最小覆盖子串(双指针)

    leetcode-76最小覆盖子串(双指针)原题链接给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。注意:如果 s 中存在这样的子串,我们保证它是唯一的答案。示例 1:输入:s = “ADOBECODEBANC”, t = “ABC”输出:”BANC”示例 2:输入:s = “a”, t = “a”输出:”a” 提示:1 <= s.length, t.length <= 105s 和 t 由英文字母组成进阶:

    2022年8月8日
    3
  • cnn-lstm网络处理时序(卷积的应用)

    本文回顾了ShaojieBai、J.ZicoKolter和VladlenKoltun撰写的论文:AnEmpiricalEvaluationofGenericConvolutionalandRecurrentNetworksforSequenceModeling。在TCN之前,我们经常将LSTM和GRU等RNN关联到新的序列建模任务中。然而,论文表明TCN(时间卷积网络)可以有效地处理序列建模任务,甚至优于其他模型。作者还证明了TCN比LST

    2022年4月13日
    317
  • 1024快乐

    1024快乐1024程序员节日快乐转载于:https://www.cnblogs.com/canmeng/p/9842898.html

    2022年6月24日
    30
  • h5 实现图片上传 案例

    h5 实现图片上传 案例如何在 h5 中实现图片上传 单图片上传 先写一个按钮 通过点击按钮触发文件上传的 onclick 事件 divclass btn onclick takePhone 请点击进行拍照 inputtype file name file id upload capture camera onchange uploadImg accept image value inputtype file name file id upload capture camera onchange uploadImg accept image divclass btn onclick takePhone

    2025年6月25日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号