hdu 2207 子网掩码转换确定
来源:互联网 发布:ios蓝牙调试软件 编辑:程序博客网 时间:2024/06/03 21:32
不知道你是否注意过你的电脑上下面的网络信息:
“连接状态:
地址类型: 通过DHCP指派
IP地址: 60.176.38.23
子网掩码: 255.255.252.0
默认网关: 60.176.36.1
首选DNS服务器: 210.32.32.1
备用DNS服务器: 210.32.32.10
”
我用最近学习的网络知识,来一一向你解释下(如果有误,恳请指正,谢谢):
1) 一个主机的适配器(网卡)或者一个路由器的适配器与网络的接口的IP地址(IP地址是指接口上的地址)可以由主机用户手工配置,也可以由专用的DHCP服务器来分配,DHCP即动态主机配置协议。
2) IP地址,我想不需要解释了吧?不过需要说明下,IP地址分网络号部分和主机号部分,网络号在前,主机号在后,用可变长的子网划分的方法来标志一个IP地址的话,IP地址可以写成如60.176.36.0/x,其中x表示最开始的x位为网络号部分,后面的32-x位为主机号部分,也就是说,这个子网内部可以分配的IP地址最多有(2^(32-x))-2个(对于主机号全0和全1的IP,具有特殊意义,不能分配给主机)。注意,对于网络管理员来说,他要组建一个网络,必须要申请一定的IP地址空间,但是IP地址空间是有限的,因此不能任意分配(这些IP地址空间需要到特定的ISP去申请),因此必须因地制宜,分配满足需要但是最小的地址空间。
3) 子网掩码的作用就是为了让主机快速的读出一个IP地址中网络号部分,以备快速的定位子网,我们只需要用IP地址与子网掩码进行与操作,就能读出网络号部分,因此可见子网掩码中前x位全部是1,后面全部是0.
4) 默认网关是指一个AS(自治系统)对外部其他的AS进行分组交换的一个路由器,当然也有相应的IP地址。
5) DNS是域名系统,其中最基本的作用就是域名与IP地址之间进行转换,acm.hdu.edu.cn是一个域名,而192.168.100.10是严格格式的IP,而域名可以有多个,如acm.split.hdu.edu.cn也可以指相同的网站,DNS服务器有庞大的分布式数据库,用来保存这些映射关系。
6) 对于一个组建的一个子网,一定会有一台服务器来提供服务,这台服务器必须由管理员设置一个固定IP地址。
现在你就是一个网络管理员,你需要组建一个局域网络,已知该网络中某时刻最大可能连接入网的主机个数(不同时刻,连接入网的主机数量在不断变化),问如果对于一台特定的主机,该如何设定其子网掩码,才能让主机获得该子网的正确的网络号部分。
“连接状态:
地址类型: 通过DHCP指派
IP地址: 60.176.38.23
子网掩码: 255.255.252.0
默认网关: 60.176.36.1
首选DNS服务器: 210.32.32.1
备用DNS服务器: 210.32.32.10
”
我用最近学习的网络知识,来一一向你解释下(如果有误,恳请指正,谢谢):
1) 一个主机的适配器(网卡)或者一个路由器的适配器与网络的接口的IP地址(IP地址是指接口上的地址)可以由主机用户手工配置,也可以由专用的DHCP服务器来分配,DHCP即动态主机配置协议。
2) IP地址,我想不需要解释了吧?不过需要说明下,IP地址分网络号部分和主机号部分,网络号在前,主机号在后,用可变长的子网划分的方法来标志一个IP地址的话,IP地址可以写成如60.176.36.0/x,其中x表示最开始的x位为网络号部分,后面的32-x位为主机号部分,也就是说,这个子网内部可以分配的IP地址最多有(2^(32-x))-2个(对于主机号全0和全1的IP,具有特殊意义,不能分配给主机)。注意,对于网络管理员来说,他要组建一个网络,必须要申请一定的IP地址空间,但是IP地址空间是有限的,因此不能任意分配(这些IP地址空间需要到特定的ISP去申请),因此必须因地制宜,分配满足需要但是最小的地址空间。
3) 子网掩码的作用就是为了让主机快速的读出一个IP地址中网络号部分,以备快速的定位子网,我们只需要用IP地址与子网掩码进行与操作,就能读出网络号部分,因此可见子网掩码中前x位全部是1,后面全部是0.
4) 默认网关是指一个AS(自治系统)对外部其他的AS进行分组交换的一个路由器,当然也有相应的IP地址。
5) DNS是域名系统,其中最基本的作用就是域名与IP地址之间进行转换,acm.hdu.edu.cn是一个域名,而192.168.100.10是严格格式的IP,而域名可以有多个,如acm.split.hdu.edu.cn也可以指相同的网站,DNS服务器有庞大的分布式数据库,用来保存这些映射关系。
6) 对于一个组建的一个子网,一定会有一台服务器来提供服务,这台服务器必须由管理员设置一个固定IP地址
Hint
请注意,服务器的IP也是子网内的现在你就是一个网络管理员,你需要组建一个局域网络,已知该网络中某时刻最大可能连接入网的主机个数(不同时刻,连接入网的主机数量在不断变化),问如果对于一台特定的主机,该如何设定其子网掩码,才能让主机获得该子网的正确的网络号部分。
Input
输入有多个case,每个case有一个正整数字(0<N<10000000),表示该子网最大可能连接进来的主机的个数。
Output
对于每个case,输出一个满足要求的掩码,注意掩码需要用标准的IP点分形式,每个小部分是一个8位的无符号整数,共有4个部分,IP中没有空格。
Sample Input
10
Sample Output
255.255.255.240
#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int main(int argc, char *argv[]){int j, pos, num, t;while( cin>>t ){//因为有全0和全1的是特殊的不能用 t+=2;pos=num=0;//确定t的二进制的位数 while( t ) t>>=1, ++pos;//总共32位,所以从31开始,0结束(是反的) for(j=31; j>=0; --j){//j也就是位数大于t的位数是要为1的,这里就是确定//二进制的位数上的那位数为1 if( j>=pos ) num+=1<<(j%8);//这里是为了八位一个输出 if( j==0 || j%8==0 ){cout<<num;//这里的意思也好理解 num=0;//就是最后一次不需要输出".",所以判断就可以了 if( j>0 ) cout<<".";}} cout<<endl;} return 0;}
0 0
- hdu 2207 子网掩码转换确定
- 如何快速确定子网掩码
- 如何划分子网及确定子网掩码
- 如何划分子网及确定子网掩码
- 子网掩码转换成IP范围
- 由数字转换到子网掩码
- HDU 确定比赛名次
- hdu 2538 确定排名
- hdu 确定比赛名次
- 确定比赛名次 HDU
- 确定比赛名次 HDU
- 子网掩码
- 子网掩码
- 子网掩码
- 子网掩码
- 子网掩码
- 子网掩码
- 子网掩码
- Apache+tomcat的整合
- CentOS6.4 图形界面下 打开终端快捷键
- device 结构与简单注册
- C++的发展方向是对的嘛?
- 《情感集-无题》
- hdu 2207 子网掩码转换确定
- UVa 113 - Power of Cryptography
- Stream 和 byte[] 之间的转换
- 反转链表
- poj 1830
- 关于使用richedit5.0引起的超链接失效的问题
- ZOJ-1406
- __VA_ARGS__相关【转】
- webview的使用